0

我发现了几个类似的主题,但没有一个能解决我的问题。基本上我想从 plist 中的数组中读取 nsstring,然后我想覆盖 nsstring 值。

NSArray *directoriespaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
NSString *documentsDir = [directoriespaths objectAtIndex:0];
NSString *fullnamefordir = [documentsDir stringByAppendingPathComponent:@"data.plist"];

        NSArray *turns = [NSArray arrayWithContentsOfFile:fullnamefordir];
        NSString *resultofarray = [turns objectAtIndex:0];
        NSLog(@"%@",turns); 
        NSLog(@"%@",resultofarray); 

nslog 总是显示 null 并且到目前为止我还没有尝试保存任何内容,因为我什至无法读取该值:/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>8</string>
</array>
</plist>

我也尝试过使用 nsdictionary 但它也不起作用提前谢谢:)

4

1 回答 1

3

首先检查您的 plist 文件是否存在于文档目录中。

NSFileMangaer *objFileManager=[[NSFileManager alloc]init];
BOOL isfileExist=[objFileManager fileExistsAtPath:yourDocumentDirectoryPath];

如果 Bool 值为 true,则检查 plist 的内容。可能是文件目录中不存在该文件,它在资源中。如果您没有将 plist 从资源文件夹复制到文档目录,则首先将其复制到那里,然后尝试访问它。

于 2012-05-19T19:32:09.350 回答