繁体   English   中英

arc禁止显式发送保留消息

[英]arc forbids explicit message send of retain

Xcode发现了一个问题ARC禁止保留的显式消息发送

_photo = [photo retain];

更改为

_photo = [photo];

不起作用

而且我不想使用-fno-objc-arc禁用它。

还有其他方法吗?

如果要保留ARC,只需执行_photo = photo; 无需括号。 只要_photo不弱,(声明前有__weak ),ARC就会为您插入一个retain调用!

 _photo = [photo];

是无效的。

采用

 _photo = photo;

使用ARC的编译器非常聪明,可以理解您想要执行的操作,保留或复制或发布的内容。 无需使用保留。 您的陈述在语法上是错误的。

ARC为您提供了必要的保留和释放消息。 你只做作业

_photo = photo;

一切都会好起来的。

xCode发现一个问题ARC禁止显式发送邮件保留...

-retain在ARC发行版中已弃用。 现在,它是编译器需要插入的函数,并且不允许您调用它。 (但是,仍然可以覆盖它)。

_photo = [照片];

消息需要一个目标和一个选择器。 您仅提供了一个目标。 拆下支架。 作业将自动转换为类似的内容。

[self->_photo release];
self->_photo = [photo retain];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM