Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Xcode 3.2中的@property(非原子,保留)和Xcode 4.2中的@property(强,非原子)之间的差异_Objective C_Ios5 - Fatal编程技术网

Objective c Xcode 3.2中的@property(非原子,保留)和Xcode 4.2中的@property(强,非原子)之间的差异

Objective c Xcode 3.2中的@property(非原子,保留)和Xcode 4.2中的@property(强,非原子)之间的差异,objective-c,ios5,Objective C,Ios5,我们在Xcode 3.2中使用的@property(非原子,保留)和在Xcode 4.2中使用的@property(强,非原子)之间有什么区别?“strong”在这里是什么意思?“strong”是对ARC(自动引用计数)的提示,只要该属性指向一个对象,该对象就不会自动释放 还有一个“弱”关键字,它(在IOS5中)表示ARC可以自由释放属性指向的对象,只要它同时将属性设置为NULL 总之,只要一个对象至少有一个指向它的“强”属性,它就不会被ARC释放,否则它将立即被释放,并且指向它的所有“弱”属性

我们在Xcode 3.2中使用的@property(非原子,保留)和在Xcode 4.2中使用的@property(强,非原子)之间有什么区别?“strong”在这里是什么意思?

“strong”是对ARC(自动引用计数)的提示,只要该属性指向一个对象,该对象就不会自动释放

还有一个“弱”关键字,它(在IOS5中)表示ARC可以自由释放属性指向的对象,只要它同时将属性设置为NULL

总之,只要一个对象至少有一个指向它的“强”属性,它就不会被ARC释放,否则它将立即被释放,并且指向它的所有“弱”属性都设置为空。

“强”是对ARC(自动引用计数)的提示,只要该属性指向一个对象,该对象不会自动释放

还有一个“弱”关键字,它(在IOS5中)表示ARC可以自由释放属性指向的对象,只要它同时将属性设置为NULL


总之,只要一个对象至少有一个指向它的“强”属性,它就不会被ARC释放,否则它将立即被释放,并且指向它的所有“弱”属性都设置为NULL。

Ok这意味着我们可以将release与此属性参数一起使用。通常xcode 4.2在保留/释放操作时会出现错误。@Arshad-不,不会。如果您使用的是
strong
,则您使用的是ARC,如果您使用的是ARC,则您不会释放。@Arshad否,如果您启用了ARC,则您不能(也不应该)释放任何内容。只需设置一个“strong”属性,ARC就会根据需要自动处理保留/释放对象。@jrturton@Joachim Isaksson:感谢您的澄清。我刚刚安装了带有ios 5的xcode 4.2:)Ok,这意味着我们可以使用带有此属性参数的release。通常xcode 4.2在保留/释放操作时会出现错误。@Arshad-不,不会。如果您使用的是
strong
,则您使用的是ARC,如果您使用的是ARC,则您不会释放。@Arshad否,如果您启用了ARC,则您不能(也不应该)释放任何内容。只需设置一个“strong”属性,ARC就会根据需要自动处理保留/释放对象。@jrturton@Joachim Isaksson:感谢您的澄清。我刚刚用ios 5安装了xcode 4.2:)