ios NSKeyedArchiver 释放 = 错误访问
Posted
技术标签:
【中文标题】ios NSKeyedArchiver 释放 = 错误访问【英文标题】:ios NSKeyedArchiver releasing = bad access 【发布时间】:2011-10-21 08:54:17 【问题描述】:我有一个菜鸟问题,我希望你指出我正确的方向。基本上我有一个实现复制协议的自定义类。但是,当我在执行期间保存类时,我发布了自定义类,但访问权限不正确。我可以在仪器中看到保留计数为-2。我使用以下方法保存自定义类:
-(void)storeDataInFile:(NSString*)dataFileName DataArray:(NSArray*)dataToStore
//Get the path
NSString *path = [self pathToDocumentsForDataFile:dataFileName];
//Archive the file
[NSKeyedArchiver archiveRootObject:dataToStore toFile:path];
我是使用方法还是用字符串保存数组,它可以完美运行。关于我的自定义类,我应该更深入地研究什么?
问候
【问题讨论】:
你应该输入你的答案并选择正确,而不是把它和问题放在一起。 我已将其添加到文本中,但似乎找不到创建答案的方法 尝试阅读常见问题。它很容易回答;人们每天都这样做。 【参考方案1】:我解决了这个问题,但是我只在评论中提供了解决方案,显然已被删除。所以我只想发布答案,表明这是一个菜鸟错误。 从以前的测试实现中,我在类中有以下方法
- (id)copyWithZone:(NSZone *)zone
return self;
//retain is counted up
- (id)retain
return self;
- (unsigned)retainCount
return UINT_MAX;
这些方法毁了我的保留计数 :)
【讨论】:
以上是关于ios NSKeyedArchiver 释放 = 错误访问的主要内容,如果未能解决你的问题,请参考以下文章
iOS开发 - 数据归档与恢复 NSKeyedArchiver
NSKeyedArchiver.unarchiveObject Swift 3 iOS 10
iOS学习 --- iOS12对象序列化(NSKeyedArchiver/NSKeyedUnarchiver)