IOS如何在容器类(如NSMutableSet)…
在项目中有某个功能需要用到多个delegate对象,这就需要把delegate放到容器中,但又不想保存强引用导致delegate对象不能被释放。所以希望能在容器中只保存delegate对象的弱引用。搜索发现大家常用的方法应该是采用NSValue
的valueWithNonretainedObject 和
nonretainedObject
来对弱引用进行封装。但是我测试发现,这么做虽然不会阻止对象的释放,但是对象释放后nonretainedObject
返回的并不是nil。这就很要命了。因为一个合适的弱引用应该有两个语义:
1、不会阻止对象释放
(这点做到了)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: NSMutableArray 可变数组-Objective-C
- 下一篇: ASCII排序
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2