作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在以下情况下使用 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/
我是一名优秀的程序员,十分优秀!