gpt4 book ai didi

ios - 在 ARC 下的 Objective-C 上,当归零弱引用变为 nil 时如何得到通知?

转载 作者:IT王子 更新时间:2023-10-29 08:03:13 26 4
gpt4 key购买 nike

是否有一种机制可以让对象知道归零弱引用变为 nil?

比如我有一个属性

@property (nonatomic, weak) MyClass *theObject;

当对象解除分配并且属性变为零时,我想得到通知。但是怎么办?归零弱引用系统是否在对象消失时使用setter将属性设置为nil?

最佳答案

运行时只是将弱变量 _theObect 设置为 nil,不会调用自定义 setter 。

您可以做什么(如果您真的需要通知):

  • 定义一个本地“watcher”类并在该类中实现 dealloc,
  • 创建一个观察者对象并将其设置为_theObject 的“关联对象”。

当 _theObject 被释放时,关联的对象被释放和释放(如果没有其他强引用指向它)。因此它的 dealloc 方法被调用。这是您的“通知”。

(我正在手机上写这个,如果需要的话可以稍后填写详细信息。)

关于ios - 在 ARC 下的 Objective-C 上,当归零弱引用变为 nil 时如何得到通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19344092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com