牛骨文教育服务平台(让学习变的简单)
博文笔记

IOS如何在容器类(如NSMutableSet)…

创建时间:2015-10-10 投稿人: 浏览次数:128
      在项目中有某个功能需要用到多个delegate对象,这就需要把delegate放到容器中,但又不想保存强引用导致delegate对象不能被释放。所以希望能在容器中只保存delegate对象的弱引用。搜索发现大家常用的方法应该是采用NSValue 的valueWithNonretainedObject 和  nonretainedObject 来对弱引用进行封装。但是我测试发现,这么做虽然不会阻止对象的释放,但是对象释放后nonretainedObject 返回的并不是nil。这就很要命了。因为一个合适的弱引用应该有两个语义:
      1、不会阻止对象释放 (这点做到了)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。