我有一个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保存带有字符串的数组,它完美无瑕。关于我的自定义类,我应该更深入地了解什么?
此致
答案 0 :(得分:0)
我解决了这个问题,但是我只在评论中提供了解决方案,该评论显然已被删除。所以我只想发布答案,表明这是一个noob错误。 从更实用的测试实现中,我在类
中有以下方法 - (id)copyWithZone:(NSZone *)zone
{
return self;
}
//retain is counted up
- (id)retain {
return self;
}
- (unsigned)retainCount {
return UINT_MAX;
}
这些方法破坏了我的保留计数:)