将数据数组写入属性列表?

时间:2011-04-21 00:44:14

标签: objective-c xcode property-list

您好,并提前感谢您的回复。

我在资源文件夹中创建了一个属性列表“myArray.plist”。在我的代码中,我用数字填充数组。如何使用该数组填充属性列表?我还将如何将该数组数据存储到应用程序文档文件夹中,以便在我的应用程序运行时可以访问它。 任何帮助将不胜感激!

这是我尝试过的:

NSMutableArray *testArray = [[NSMutableArray alloc]initWithObjects:@"OMG",@"YEAH",nil];

NSString *arrayPath = [[NSBundle mainBundle] pathForResource:@"myArray" ofType:@"plist"];
[testArray writeToFile:arrayPath atomically:NO];

请告诉我我做错了什么。

1 个答案:

答案 0 :(得分:3)

pathForResource:ofType:方法查找与您的应用捆绑在一起的资源,如果找不到,则返回nil。

通常,由于许多不同的原因(即文件所有权和权限),写入应用程序资源路径并不是标准行为。实际上,您应该尝试使用〜/ Library / Application Support /来获取与您的应用程序相关的用户数据。

此外,NSURL是引用10.6+文件路径的首选方式,因为它易于操作和别名支持。在这种情况下使用NSURL是一个很好的习惯。

无论如何,尝试做这样的事情:

[testArray writeToURL:[NSURL fileURLWithPath:[@"~/Desktop/myArray.plist" stringByExpandingTildeInPath]] atomically:NO];