保存NSArray到iCloud并检索它
我有一个应用程序,目前将一个NSMutableArray保存到iPad上的文档目录中的文件。 这是保存的
[residentData writeToFile:filePath atomically:NO];
并被读回;
residentData = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
我需要将这个文件写入iCloud,因为数据需要在多个设备上可用。 我已经尝试以下在iCloud中创build文件;
NSData *myFileData = [NSKeyedArchiver archivedDataWithRootObject:residentData]; [fileManager createFileAtPath:[icloudURL path] contents:myFileData attributes:nil];
这确实在正确的地方创build了一个文件。 我努力了解如何将这个文件读回我的NSMutableArray(residentData)。 我努力了;
residentData = [NSKeyedUnarchiver unarchiveObjectWithData:myFileData];
但是这不能正确解码到数组中。 请有人告诉我我的方式的错误 – 我怀疑我的一个根本的误解是NSData的责任,但任何指针将受到欢迎。
终于点击了,我的方法是错的。 我不需要使用上面的任何一个。 一旦我完成了;
[fileManager setUbiquitous:YES itemAtURL:currentPlace destinationURL:icloudURL error:&error];
系统负责处理所有其他事情 – 例如,通常使用文件访问文件
residentData = [[NSMutableArray alloc] initWithContentsOfURL:icloudURL];
已经工作了。