- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 NSUserDefaults 编写一些首选项,尽管我想将它们保存为 XML 格式(目前默认情况下以二进制格式保存)。我见过some examples of saving .plists using NSPropertylistSerialization ,但是它们看起来过于复杂。有没有简单的方法可以做到这一点?
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithBool:NO] forKey:@"Button One"];
[defaults setObject:[NSNumber numberWithBool:NO] forKey:@"Button Two"];
[[NSUserDefaults standardUserDefaults] synchronize];
最佳答案
使用 Xcode 界面创建的
.plist 可读但不可写。如果您想对项目 bundle 中的文件进行更改,主要在要复制的文档或库中的文件夹之一中,那么始终必须处理副本或使用代码创建 .plist。
创建:
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* plistPath = [documentsPath stringByAppendingPathComponent:@"test.plist"];
NSArray* fruits= [NSArray arrayWithObjects:@"apple", @"orange", @"cherry", nil];
NSArray* vegetables= [NSArray arrayWithObjects:@"cabbage", @"pumpkin", @"leek", nil];
NSDictionary* dictionary= [NSDictionary dictionaryWithObjectsAndKeys:fruits, @"fruits", vegetables, @"vegetables", nil];
[dictionary writeToFile:plistPath atomically:YES];
阅读和写作:
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* plistPath = [documentsPath stringByAppendingPathComponent:@"test.plist"];
NSDictionary* dictionary= [[NSDictionary alloc] plistPath ];
NSMutableArray* fruits= [dictionary objectForKey:@"fruits"];
NSMutableArray* vegetables= [dictionary objectForKey:@"vegetables"];
NSLog(@"First Fruit: %@",[fruits objectAtIndex:0]);
NSLog(@"First Vegetable: %@",[vegetables objectAtIndex:0]);
[fruits replaceObjectAtIndex:0 withObject:@"banana"];
[dictionary writeToFile:plistYolu atomically:YES];
关于xml - NSUserDefaults 和 NSPropertyListSerialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009187/
我正在使用 NSUserDefaults 编写一些首选项,尽管我想将它们保存为 XML 格式(目前默认情况下以二进制格式保存)。我见过some examples of saving .plists u
我的类中的这个方法读取以前创建的 plist,但是当它执行时,NSPropertyListSerialization 会到处泄漏。主要是 NSDates 和 NSCFStrings。有什么建议可以防止
+dictionaryWithContentsOfFile: +arrayWithContentsOfFile: 和 NSPropertyListSerialization 之间是否有任何有意义的区别
我需要将我的图像编码成文本。我为此找到了这个类(class): Base64 for iOS with ARC 当我尝试对图像进行编码时,我发现 NSPropertyListSerialization
我正在考虑将来自 Web 服务端点的数据序列化为 JSON 转换为二进制属性列表。我正在对 Cocoa 进行反序列化。同时使用过 NSPropertyListSerialization 和 NSJSO
我有一个适用于 Mac 和 iOS 的应用程序,它使用 .plist 文件在使用 iCloud 的设备之间同步数据。每隔一段时间,我就会收到一封来自某人的电子邮件,内容是在特定设备上反复崩溃。 (其他
我正在尝试使用以下代码从 plist 中读取数据: NSString *error; NSData * tempData = [[NSData alloc] initWithContentsOf
更新:已解决。代码已更新。 我正在编写一些代码来处理 Objective-C++ 中的 plist。 当我向函数传递一个到 XML plist 的路径时,一切正常,输出显示: 2014-08-12 1
尝试使用下面的代码块,但不知道如何让选项位在 else 子句中工作,我不断收到“NSPropertyListMutabilityOptions”无法转换为“NSPropertyListReadOpti
在我的应用程序中,我试图序列化服务器响应字典并将其写入文件系统。但是对于某些响应,我收到错误“属性列表对格式无效”。原因是服务器响应中的 CFNull 对象。现在,服务器响应将不断变化,所以我没有明确
我编写了一个简单的命令行工具,用于将特定ini文件转换为属性列表的特殊需要。我正在使用 NSPropertyListSerialization 将字典写入 307kb 的二进制属性列表文件。但是,当我
lldb 说 +[AppDelegate count]:无法识别的选择器发送到类 0xe6a0 在行读取时:NSDictionary *soundDataPList = [NSPropertyList
在浏览 TableView 时,我无法保留数组的内容。我的意思是我有一个 PList,一旦我单击 TableView 中的一行,我就会尝试从中为详细 View 提取数据。这是我在 viewDidLoa
我是一名优秀的程序员,十分优秀!