首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串中存在多个错误

字符串中存在多个错误
EN

Stack Overflow用户
提问于 2015-10-19 18:23:50
回答 2查看 53关注 0票数 0
代码语言:javascript
复制
NSString *p = [[storagePath retain] autorelease];

1)ARC禁止显式发送'autorelease‘消息。

2)ARC禁止显式发送'retain‘消息。

3)自动释放在自动参考计数模式下可用unavailable.not。

4) retain在自动引用计数模式下可用unavailable.not。

该字符串有多个错误。提出问题和整改建议。

EN

回答 2

Stack Overflow用户

发布于 2015-10-19 18:25:06

ARC是指(Automatic Reference Counting),它负责安全地释放内存。

下面这行的意思是:

代码语言:javascript
复制
//NSString *p = [[storagePath retain] autorelease];

"storagePath retain“表示变量storagePath通过加1来递增它的引用。

所以,每当不再使用它时,就需要释放它。autorelease将自动执行此任务。

但是当苹果引入ARC do always autorelease everything时(除了:复杂循环)

您不需要使用autorelease,现在retain属性的NSString类不再具有exist.So,不需要使用retain of astring<代码>e224。只需简单地编写以下代码

代码语言:javascript
复制
NSString *p = storagePath;
票数 1
EN

Stack Overflow用户

发布于 2015-10-19 18:31:00

(ARC是“自动引用计数”,在iOS 5和更高版本中提供了一个新功能)。因此,您不需要手动保留或释放。

代码语言:javascript
复制
// directly you want to access

NSString *p = storagePath;

ARC您可以一起删除保留呼叫,也可以通过执行以下操作关闭

单击左侧导航视图上的项目名称,转到Targets -> Build阶段,并将-fno-objc-arc添加到任何相关文件的“编译器标志”中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33212019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档