Objective C - 随机plist字符串到NSString而不是显示(null)

时间:2013-07-22 16:45:30

标签: objective-c nsstring plist

我正在尝试显示一个随机的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

任何帮助都会很棒..谢谢

1 个答案:

答案 0 :(得分:0)

这是不正确的:

NSMutableArray *plistArray = plistDict[@"Value"];

显示截屏的属性列表有一个数组作为根对象。这行代码假定它是一个密钥为Value的字典。

你在这里有一个额外的步骤,你不需要。你试图从字典中取出一个数组,但是你从数组开始,你没有字典。

你应该用这个:

NSArray *plistArray = [[NSArray alloc] initWithContentsOfFile:path];