有人可以简单地向我解释ARC是如何工作的吗?我知道它与垃圾收集不同,但我只是想知道它是如何工作的.
此外,如果ARC在没有阻碍性能的情况下完成GC的工作,那么为什么Java使用GC?为什么不使用ARC呢?
cocoa-touch garbage-collection objective-c automatic-ref-counting
我正在开发一款适用于iPad的应用程序.iOS 4.2开始开发,现在继续(我认为将完成)iOS 4.3.我刚刚阅读了iOS 5中的ARC,基本上我明白我们将永远不再需要发布和保留对象.我的问题是:
如果我决定升级到iOS 5,我是否需要从代码中删除所有[myObject retain]
和[myObject release]
语句?
如果我使用ARC开发适用于iOS 5的新应用程序,我是否需要实施某种"复古兼容性"检查?即:我需要检查iOS版本并相应地调用retain和release吗?那么,基本上,ARC适用于所有iOS版本还是适用于iOS 5?
在我更新到Xcode 4.2后,我无法再发布任何内容.当我开始键入"release"时,它会建议"释放",但是会有一条红线.
如果我写它仍然显示错误并显示以下两条消息:
'release'不可用:在自动引用计数模式下不可用自动引用计数禁止显式消息发送'release'
有谁知道我能做什么?
为什么当我编码我可以做:
NSString *test;
test = @"stack";
test = @"overflow";
Run Code Online (Sandbox Code Playgroud)
没有任何问题,NSString
是不是应该是不可改变的?