sno*_*und 1 syntax delegates properties objective-c
在使用喜欢的东西编写代理时,我看到了很多代码引用
@property (nonatomic, weak) id<mySuperCoolDelegate> delegate;
Run Code Online (Sandbox Code Playgroud)
通常在哪里id<mySuperCoolDelegate>,是属性的数据类型.所以问题是:
我的理解是否正确,上面的语法告诉编译器数据类型的id是mySuperCoolDelegate?
是否可以使用这种代码(为id指定的数据类型)的任何其他示例?
谢谢!
这段代码是objective-c实现接口的方式(如在Java或Go中).使用"id"意味着你在编译时不知道它将是什么类型的对象.但是在尖括号中使用协议你告诉编译器无论它将是什么对象,它都需要支持'mySuperCoolDelegate'协议.如果没有 - 编译器会告诉你.