iphone – iOS 5中的协议和分配属性

iphone – iOS 5中的协议和分配属性,第1张

概述我正在尝试在iOS 5中创建自己的自定义代理. 在iOS 4中,我通常使用’Assign’属性: @property(nonatomic, assign) id<AnyProtocol> delegate; 现在,当我尝试合成时,我收到以下错误消息: error: Automatic Reference Counting Issue: Existing ivar 'delegate' for un 我正在尝试在iOS 5中创建自己的自定义代理.
在iOS 4中,我通常使用’Assign’属性:

@property(nonatomic,assign) ID<AnyProtocol> delegate;

现在,当我尝试合成时,我收到以下错误消息:

error: automatic Reference Counting Issue: Existing ivar 'delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained

有任何想法吗 ?

解决方法 此错误是因为在ARC ivars下默认为strong

此错误告诉您已使用__unsafe_unretained(assign)所有权声明了属性,但默认情况下,ivar具有__strong所有权,因此它们不能在一个中.您可以

>省略将自动创建的ivar
>定义ivar以匹配您的(assign)属性声明:

__unsafe_unretained ID <fileListDelegate> delegate;

>定义属性以匹配ivar的隐式__strong所有权:

@property (weak) ID <fileListDelegate> delegate;

这三个选项无耻地从用户chrispix的答案中复制了this thread..Credit去了那里

总结

以上是内存溢出为你收集整理的iphone – iOS 5中的协议分配属性全部内容,希望文章能够帮你解决iphone – iOS 5中的协议和分配属性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1019028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存