gpt4 book ai didi

objective-c - cocoa touch 问题。在触摸序列上下文中使用 KVO

转载 作者:行者123 更新时间:2023-12-03 18:06:54 25 4
gpt4 key购买 nike

我想在以下情况下使用 KVO:

1) 在 TouchesBegan:withEvent 中:我分配/初始化一个对象的实例,然后通过 KVO 观察该实例

我的目的是观察对象在其整个生命周期中的各种行为。

2) 在touchesEnded:withEvent: 中,我将此实例分配给 NSMutableArray 并释放实例引用,因为 NSMutableArray 现在保留它。我还必须通过removeObserver:forKeyPath删除实例的观察者:

这是有问题的,因为我现在已经失去了所有观察,除非我再次将观察添加回气味难闻的数组元素。

有没有办法让观察者保持附着在对象上,而不管对象是谁拥有的?

谢谢,道格

最佳答案

在 Objective-C 中,你并不“拥有”一个对象,你只是对它有一个声明。你不需要仅仅因为 NSMutableArray 保留它就释放它——你们都可以拥有它的声明。当您完成该对象后,将自己作为观察者移除并释放该对象。当你完成 NSMutableArray 后,释放它。这样,一切都会水到渠成。

关于objective-c - cocoa touch 问题。在触摸序列上下文中使用 KVO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1074545/

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