有什么区别
@interface URLCacheConnection : NSObject {
id <URLCacheConnectionDelegate> delegate;
}
@property (nonatomic, assign) id delegate;
@end
Run Code Online (Sandbox Code Playgroud)
和
@interface URLCacheConnection : NSObject {
}
@property (nonatomic, assign) id<URLCacheConnectionDelegate> delegate;
@end
Run Code Online (Sandbox Code Playgroud)
这两个类定义似乎都表现得相同.在接口和属性中定义变量的目的是什么?
有什么区别......
主要区别在于,在第一种情况下,您将能够delegate在调试器中看到ivar,而在第二种情况下,您将无法看到.
在接口和属性中定义变量的目的是什么?
这部分是向后兼容的问题.合成实例变量的能力是Objective-C的一个相对较新的特性.此外,可能总是希望能够为内部使用创建实例变量并且没有相应的属性.
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |