Xcode plist没有加载

时间:2013-07-29 18:54:39

标签: ios objective-c xcode

我正在尝试将一些字符串存储在Plist中,然后选择一个随机字符串并将其显示在标签上。由于某种原因,Xcode无法找到或加载Plist。

代码“NSLog(@”dictionary:%@,array:%@“,plistDict,plistArray);”

返回“2013-07-29 11:38:22.216 Random [1434:60b]字典:(null),array:(null)”

所以我只能假设这意味着.plist文件无效,或者Xcode由于某种原因无法读取它。这是按钮的.m代码:

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

NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"list"];

int randV = arc4random() % plistArray.count;

jokeLabel.text = plistArray[randV];

NSLog(@"dictionary: %@, array: %@", plistDict, plistArray);

此外,这是我的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">
<dict>
    <key>list</key>
    <array>
        <string>Some Text Here</string>
        <string>Other Text Here</string>
    </array>
</dict>
</plist>

要使这项工作正常,我需要做些什么?谢谢!

2 个答案:

答案 0 :(得分:0)

NSString *路径的价值是多少?如果那是null,那么其他一切都将是。 您的文件名将区分大小写,因此请检查plist是否为“jokes.plist”

答案 1 :(得分:0)

你的代码绝对没问题。检查添加到项目中的plist文件是否具有正确的名称。