0

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

代码 "NSLog(@"字典: %@, 数组: %@", plistDict, plistArray);"

返回“2013-07-29 11:38:22.216 Random[1434:60b] 字典:(null),数组:(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>

我需要做什么才能使其正常工作?谢谢!

4

2 回答 2

0

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

于 2013-07-29T19:00:06.557 回答
0

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

于 2013-07-30T13:02:40.987 回答