我想使用 NSUserDefaults 的功能来保存状态。我目前确实有这个工作。但我想复制这个 plist 文件并将其应用到另一台设备上的同一个应用程序。
是否有某种方法可以将文件名传递给 NSUserDefaults 或者我是否需要使用其他类?或者可以与另一个设备上的同一个应用程序共享 plist 吗?
device1 和 device2 上的应用程序是同一个应用程序。我不想在不同的应用程序之间共享数据。
最佳答案
将它作为字典传递对您有用吗?
NSDictionary *dict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
然后在其他设备上:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
for (NSString *key in dictionaryRepresentation.allKeys) {
id ob = dictionaryRepresentation[key];
[defaults setObject:ob forKey:key];
}
或者,您可以将 dict
写入 .plist
文件,将其传输过来,从 .plist
解码为 dict
并按照我上面的操作。
写入 .plist
文件:
[dict writeToFile:@"path/to/your/file.plist" atomically:YES];
从 .plist
文件读取:
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:@"path/to/your/file.plist"];
关于swift - 共享 NSUserDefaults plist 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29084977/