2013-07-29 129 views
0

我想在Plist中存储一些字符串,然后随机选择一个并将其显示在标签上。由于某种原因,Xcode无法找到或加载Plist。代码“NSLog(@”字典:%@,数组:%@“,plistDict,plistArray);”Xcode plist not loading

返回 “2013年7月29日11:38:22.216随机[1434:60B]字典:(空),阵列:(空)”

所以我只能假设这意味着的.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

确保文件已添加到目标。记录您从捆绑中获得的路径。 – Wain

回答

0

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

0

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