Objective-C 引用实现协议的对象
Objective-C Reference to object that implements protocol
我想创建对实现协议的对象的引用。这是一个示例代码:
@interface TestClass ()
@property id <TestProtocol> testProperty;
@end
@implementation TestClass
+(id)init :(id <TestProtocol> test)
{
TestClass *testClass = [[TestClass alloc] init];
testClass.testProperty = test;
return testClass;
}
@end
然后它会创建实现协议或引用的测试对象的副本吗?我想知道,因为没有“*”号。如果它是一个副本,我该如何创建一个引用呢?
类型id
是一个指针类型,可以保存指向任何对象的指针。
Objective-C 中没有包含 "object" 本身的类型。只能通过指向对象的指针来使用对象。
我想创建对实现协议的对象的引用。这是一个示例代码:
@interface TestClass ()
@property id <TestProtocol> testProperty;
@end
@implementation TestClass
+(id)init :(id <TestProtocol> test)
{
TestClass *testClass = [[TestClass alloc] init];
testClass.testProperty = test;
return testClass;
}
@end
然后它会创建实现协议或引用的测试对象的副本吗?我想知道,因为没有“*”号。如果它是一个副本,我该如何创建一个引用呢?
类型id
是一个指针类型,可以保存指向任何对象的指针。
Objective-C 中没有包含 "object" 本身的类型。只能通过指向对象的指针来使用对象。