我的询问是这样的:我正在保存并将自定义对象加载到文件中。加载和创建包含数据的文件可以正常工作,但是,在加载文件后,再次保存崩溃。长话短说,保存已加载的文件会导致保存时崩溃。 崩溃将我发送到我的自定义对象m file:
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeInteger:*(time) forKey:@"time"];
[encoder encodeInteger:*(location) forKey:@"location"];
}
// ==== 从文件加载数据:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:fileName];
initWithContentsOfFile:filePath];
globals.mainData = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
// ==== 保存到当前文件 我的断点阻止了我:NSData * data = ... //然后崩溃
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:currentFileName];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:globals.mainData]; //crashes here
BOOL saved = [data writeToFile:filePath options:NSDataWritingAtomic error:nil];
if (saved) {
NSLog(@"Saved %@", currentFileName);
}else{
NSLog(@"Error - code 2 - Failure to save data");
}
任何建议都会很棒,非常感谢!