我创建了一个带有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功能的类。问题是有时候从这个类返回的值已经被释放了。结果代码崩溃了,我们可以进行任何进一步的验证,以便这个类只返回非释放的对象