繁体   English   中英

无法写入Plist

[英]Not able to write to Plist

我有一个关于如何写入plist的非常基本的问题。 我在资源文件夹中添加了“ Here.plist”文件。 以下是我的代码:

NSString *path = [[NSBundle mainBundle]pathForResource:@"Here" ofType:@"plist"];

NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];

[array writeToFile:path atomically:YES];

执行代码后,“ Here.plist”仍然为空。 我什至尝试使用NSDictionary如下:

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"firstValue", @"First", @"secondValue", @"Second", @"thirdValue", @"Third", nil];

[dict writeToFile:path atomically:YES];

我经历了许多教程和论坛,但是对我来说不起作用。 我究竟做错了什么? 我对此感到迷茫。

您无法写入捆绑包。 尝试写入documents目录。 例如:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"Here.plist" atomically:YES];

我怀疑您的问题是由于您无法写入应用程序捆绑包,而只能写入应用程序的文档存储库。

要获取文档存储的路径,请使用:

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docStorePath = [searchPaths objectAtIndex:0];

NSString *filePath = [docStorePath stringByAppendingPathComponent:@"XXXXX"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM