函数返回释放的对象

时间:2012-05-17 12:08:31

标签: iphone

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

0 个答案:

没有答案