我正在学习Objective-C和Cocoa Framework (通过Aaron Hillgass的书),并试图弄清楚为什么下面一行包含“强”标识符。
@property (strong) NSManagedObjectContext *managedObjectContext;
据我所知,strong是默认值,所以为什么我需要显式声明它?
发布于 2012-07-19 08:34:57
你可以不写任何东西就声明它,但是当你回到代码或者其他开发人员查看你的代码时会发生什么呢?
您可能知道默认值将被设置为strong,但初级程序员将会非常困惑,无法确定声明的变量是强还是弱。
发布于 2014-07-09 03:57:36
同意Richard的观点。
//强引用和弱引用ARC引入了两个新的对象引用限定符:强和弱。
在ARC下,默认情况下所有对象引用变量都是强的。这不仅仅适用于属性;@property语句的默认标识符分配给非对象类型,对象类型应该是强的。所有对象引用-属性值、实例变量、自动变量、参数变量和静态变量-在ARC下的行为类似于保留属性。
https://stackoverflow.com/questions/11552317
复制相似问题