我制作了一个自定义单例类,其中包含 nsmutabledictionary 作为属性。我通过两种方法设置和检索此类中的值
-(void)setObject:(id)object forKey:(NSString*)key
{
if(!object||object==nil)
{
return;
}
[self.dict setObject:[object retain] forKey:key];
}
和 objectForKey
-(id)objectForKey:(NSString*)key
{
id obj=[self.dict objectForKey:key];
return obj;
}
我这样做的原因是,当我在迭代方法(10000 循环或更高)中保存和检索 nsuserdefaults 的值时,代码要慢得多。因此我构建了一个模仿 nsuserdefaults 功能的类。问题是有时这个类返回的值已经被释放了。结果代码崩溃了,我们可以做进一步的验证,以便这个类只返回未释放的对象