NSString *p = [[storagePath retain] autorelease];1)ARC禁止显式发送'autorelease‘消息。
2)ARC禁止显式发送'retain‘消息。
3)自动释放在自动参考计数模式下可用unavailable.not。
4) retain在自动引用计数模式下可用unavailable.not。
该字符串有多个错误。提出问题和整改建议。
发布于 2015-10-19 18:25:06
ARC是指(Automatic Reference Counting),它负责安全地释放内存。
下面这行的意思是:
//NSString *p = [[storagePath retain] autorelease];"storagePath retain“表示变量storagePath通过加1来递增它的引用。
所以,每当不再使用它时,就需要释放它。autorelease将自动执行此任务。
但是当苹果引入ARC do always autorelease everything时(除了:复杂循环)
您不需要使用autorelease,现在retain属性的NSString类不再具有exist.So,不需要使用retain of astring<代码>e224。只需简单地编写以下代码
NSString *p = storagePath;发布于 2015-10-19 18:31:00
(ARC是“自动引用计数”,在iOS 5和更高版本中提供了一个新功能)。因此,您不需要手动保留或释放。
// directly you want to access
NSString *p = storagePath;ARC您可以一起删除保留呼叫,也可以通过执行以下操作关闭
:
单击左侧导航视图上的项目名称,转到Targets -> Build阶段,并将-fno-objc-arc添加到任何相关文件的“编译器标志”中。
https://stackoverflow.com/questions/33212019
复制相似问题