[英]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.