【发布时间】:2012-05-27 14:13:05
【问题描述】:
我会尝试解释一下自己,我有一个对象 Person 和一个单例对象 PeopleManager,它有一个 NSDictionary *_people。_people 是一个字典,其中包含带有 @ 的 Person 对象987654326@ 作为密钥。
创建一个人后,我将其 (self) 添加到 _people 字典中(在 Person init 方法中)
people 字典应该保存 person 对象,直到 person 被 dealloc,但问题是如果我在代码中的某个地方分配 person 然后释放它,它不会得到 dealloc,因为 PeopleManager 仍然持有它_people 字典。
真正的问题是_people 字典保留了这个人,如果有可能有一个分配字典那就太好了,但我知道这是不可能的。
我能做些什么来解决这个问题?
【问题讨论】:
-
如何将对象添加到 NSDictionary?它是不可变的,因此无法修改。
标签: iphone objective-c nsdictionary dealloc retaincount