我有一个应用程序,它将用户数据保存到文档目录中的文件中,如下所示:
NSLog(@"Saving myLibrary.dat...");
NSString *filePath = [[self documentsDirectory] stringByAppendingPathComponent:@"myLibrary.dat"];
BOOL succeed = [[NSKeyedArchiver archivedDataWithRootObject:myLibrary] writeToFile:filePath atomically:YES];
if (!succeed){
NSLog(@"There was an error saving myLibrary.dat!");
}
和我的文件目录:
-(NSString*)documentsDirectory
{
NSLog(@"documentsDirectory");
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
return documentsDirectory;
}
库dat保存myLibrary,它是一个带有许多其他NSMutableArrays或NSStrings的NSMutableArray。
我从来没有遇到任何问题,我的数据保存应用程序,但用户现在报告他的图书馆在进行iTunes同步后搞砸了(项目被复制或交换)。
我没有与iTunes同步设置任何同步功能,因此不知道他为什么遇到这个错误?
任何人都可以想到一个连接,或者只是必须在其他地方(在我的应用程序中)找到该错误并且用户可能只是偶然在iTune同步后遇到错误?
非常感谢任何想法!
答案 0 :(得分:1)
尝试保存在NSUserDefaults而不是文件中。