将数组中的字符串写入plist

时间:2011-08-31 14:19:45

标签: iphone objective-c ios plist

我有一个带有数组的plist和数组中的一些字符串。所以我想知道如何在plist中为数组写一个新字符串。当我使用下面的代码从plist中获取字符串时,我在日志中得到null。

NSMutableArray *myPrimaryinfo = [[NSMutableArray alloc] initWithContentsOfFile:@"/private/var/mobile/Library/Keyboard/UserDictionaryWordKeyPairs.plist"];

NSLog(@"%@", myPrimaryinfo);

我的plist看起来像这样:

<?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>Test string1</string>
    <string>Test string2</string>
    <string>Test string3</string>
    <string>Test string4</string>
</array>
</plist>

2 个答案:

答案 0 :(得分:2)

获取如下文件的路径并尝试..

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

答案 1 :(得分:0)

你不能在iOS上这样做,因为文件系统在应用程序的沙箱之外是不透明的。有关iOS文件系统中应用程序可用内容的更多信息,请阅读:

http://developer.apple.com/library/iOS/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/RuntimeEnvironment/RuntimeEnvironment.html#//apple_ref/doc/uid/TP40007072-CH2-SW12

不要试图访问应用程序无法访问的文件系统部分,而应考虑在应用程序包中包含plist文件。如果您希望应用程序能够动态修改plist,您可以将其副本保存到与应用程序包并行的Documents目录中,然后从那里读取plist。