ios NSKeyedArchiver发布=访问不良

时间:2011-10-21 08:54:18

标签: ios custom-controls release nskeyedarchiver

我有一个noob问题,我希望你能指出我正确的方向。基本上我有一个实现复制协议的自定义类。但是当我在执行期间保存类时,我发布了自定义类,并且访问不正确。我可以在乐器中看到保留计数为-2。我使用以下方法保存自定义类:

-(void)storeDataInFile:(NSString*)dataFileName DataArray:(NSArray*)dataToStore 
{
    //Get the path
    NSString *path = [self pathToDocumentsForDataFile:dataFileName];
    //Archive the file
    [NSKeyedArchiver archiveRootObject:dataToStore toFile:path];
}

我是否使用方法sor保存带有字符串的数组,它完美无瑕。关于我的自定义类,我应该更深入地了解什么?

此致

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,但是我只在评论中提供了解决方案,该评论显然已被删除。所以我只想发布答案,表明这是一个noob错误。 从更实用的测试实现中,我在类

中有以下方法
    - (id)copyWithZone:(NSZone *)zone
{
    return self;
}

//retain is counted up
- (id)retain {
    return self;
}

- (unsigned)retainCount {
    return UINT_MAX;
}

这些方法破坏了我的保留计数:)