ARC中的强与保留



我知道有很多关于"强"与"弱"的文章。但所有的文档都说两者都是100%的同义词,你可以用"strong"代替"retain",反之亦然。

我的问题是:如果它们是一样的,苹果为什么要引入新的"strong"关键字?我在一个示例项目中测试了这两个属性,"strong"one_answers"retain"属性似乎都起到了相同的作用。你不认为如果苹果引入了"强"属性,就应该禁止使用"保留"属性吗?还是我错过了什么?

retain是ARC之前遗留下来的,在ARC之前,您可以根据是否希望它在内存中保留来增加/减少对象retain count

很明显,有了ARC,您就不必再担心这一点了,我怀疑retain可能只是为了方便那些经验丰富的objective-c程序员使用。

arc中最常见的关键字是:(strong, weak, nonatomic, readonly, copy)

最新更新