从plist中选择随机单词

时间:2012-07-10 09:32:56

标签: objective-c ios xcode

  

可能重复:
  displaying a random word from a plist

我有一个带有一些单词的plist现在我尝试显示该plist的随机单词,但我的应用程序崩溃,我不知道如何解决问题。

这是我的代码:

NSArray *randomAddons = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wordsENG" ofType:@"plist"]];

NSLog(@"Array: %@", randomAddons);

int randomIndex = arc4random() % [randomAddons count];

mainTextController.text = [username2 stringByAppendingString:[randomAddons objectAtIndex:randomIndex]];

这是崩溃:

Array: (
    (
    DANDAN,
    DONDON,
    SAMSAM,
    SANSAN
)
)
2012-07-10 11:23:28.047 spinningyarn[336:1bb03] -[__NSCFArray length]: unrecognized     selector sent to instance 0xa26cad0
2012-07-10 11:23:28.047 spinningyarn[336:1bb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray length]: unrecognized selector sent to instance 0xa26cad0'
*** First throw call stack:
(0x1b04022 0x1ee0cd6 0x1b05cbd 0x1a6aed0 0x1a6acb2 0x1468bd9 0x115dc3 0x3de995 0x979ed9 0x981725 0x8ea4ab 0x9837c6 0x8c9885 0x2166330 0x2168509 0x1a3b803 0x1a3ad84 0x1a3ac9b 0x26287d8 0x262888a 0xb3d626 0x29e2 0x2955 0x1)
terminate called throwing an exception

我希望有人可以帮助我

1 个答案:

答案 0 :(得分:3)

randomAddons是一个包含一个数组的数组......

试试这个:

NSArray *randomAddons = [(NSArray*)[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wordsENG" ofType:@"plist"]] objectAtIndex:0];

NSLog(@"Array: %@", randomAddons);

int randomIndex = arc4random() % [randomAddons count];

mainTextController.text = [username2 stringByAppendingString:[randomAddons objectAtIndex:randomIndex]];