iphone – Objective-C与ARC的代表

iphone – Objective-C与ARC的代表,第1张

概述我正在编写一个具有回调给一个委托对象的类,但是有ARC的问题. 例如我有ObjectA(委托),它符合ProtocolA,ObjectB是调用回代理的对象.我将ObjectA存储为ObjectB中的@property. 在这种情况下,哪些变量应该是强大的,哪些变量应该是弱参考?我需要避免将ObjectA从ObjectA传递给ObjectB的情况,以将强制到弱指针的转换设置为委托结果. 为避免循环引 我正在编写一个具有回调给一个委托对象的类,但是有ARC的问题.

例如我有ObjectA(委托),它符合ProtocolA,ObjectB是调用回代理的对象.我将ObjectA存储为ObjectB中的@property.

在这种情况下,哪些变量应该是强大的,哪些变量应该是弱参考?我需要避免将ObjectA从ObjectA传递给ObjectB的情况,以将强制到弱指针的转换设置为委托结果.

解决方法 为避免循环引用,请将ObjectB的代理保存为弱引用.因为ObjectA“拥有”ObjectB,ObjectA不应该被释放,而ObjectB有一个引用.所以写:

@property (weak,nonatomic) ID <ObjectBDelegate> delegate;
总结

以上是内存溢出为你收集整理的iphone – Objective-C与ARC的代表全部内容,希望文章能够帮你解决iphone – Objective-C与ARC的代表所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存