我正在尝试显示一个随机的plist字符串但是当我NSLog显示所有显示的是'(null)'时,我可能在代码中做错了什么:
- (void) viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:
@"small" ofType:@"plist"];
NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"Value"];
NSInteger randV = arc4random_uniform(plistArray.count); // randV is from 0 to number of strings -1 in array
[super viewDidLoad];
self.correctWord = [plistArray objectAtIndex:randV];
[self setupHangmanWord:self.correctWord];
}
这是我的small.plist文件: image
任何帮助都会很棒..谢谢
答案 0 :(得分:0)
这是不正确的:
NSMutableArray *plistArray = plistDict[@"Value"];
显示截屏的属性列表有一个数组作为根对象。这行代码假定它是一个密钥为Value
的字典。
你在这里有一个额外的步骤,你不需要。你试图从字典中取出一个数组,但是你从数组开始,你没有字典。
你应该用这个:
NSArray *plistArray = [[NSArray alloc] initWithContentsOfFile:path];