基本上我需要从 plist 中获取一个随机字母和与该字母相关的点。 老实说,我不确定我是否以最好的方式设置了我的 plist,我以前从未使用过 plist:
一旦我开始工作,我将把 C-Z 添加到 plist 中,每个字母都有关联的点。我刚刚创建了一个基本的文字拼贴游戏来尝试和学习 sprite 工具包。
到目前为止,我已经能够访问 plist 文件,但没有任何运气获得随机字母和它的点数。我尝试的一切都遇到了各种错误。
Here's my code so far to access the plist:
NSString* fileName = @"letters.plist";
NSString* filepath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];
NSDictionary* lettersPlist = [NSDictionary dictionaryWithContentsOfFile:filepath];
NSDictionary* letters = lettersPlist[@"letters"];
那么我如何从这个 plist 中获得一个随机字母和它的点数呢?有没有更好的方法来做到这一点?
最佳答案
只需在 0 和 letters
数组中的项目数之间获取一个随机数,然后取出该信息。例如,继续您的代码:
u_int32_t bound = (u_int32_t)[letters count];
NSDictionary* randomLetterInfo = letters[arc4random_uniform(bound)];
NSString* randomLetter = randomLetterInfo[@"Letter"];
NSString* points = randomLetterInfo[@"Points"]; // points are a string in your plist
关于ios - 如何从嵌套在 plist 文件的字典中的数组中访问随机值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611439/