从.plist中选择随机字符串?

时间:2013-05-18 22:37:24

标签: objective-c random uilabel

我目前刚开发并遇到问题。我想从.plist中读取字符串,当按下按钮时,它会选择一个随机字符串并将其显示在标签中?我有一个示例.plist和一个在我的.h和.m中实例化的按钮但是我只是不知道如何选择随机字符串并将UILabels值更改为所选字符串。任何帮助将不胜感激,并提前感谢!

继承我的.plist enter image description here

这是我的.h

#import <UIKit/UIKit.h>

@interface ViewController2 : UIViewController  {
IBOutlet UILabel *label1;
}

-(IBAction)randomButton;

这是我的.m

#import "ViewController2.h"

@interface ViewController2 ()

@end

@implementation ViewController2

//What do I put in my randomButton method to extract from .plist?
-(IBAction)randomButton {
}

1 个答案:

答案 0 :(得分:4)

首先你应该重新排列你的plist文件,所以所有的字符串都在一个数组中(现在你的字符串不在&#34;单词&#34;数组)。如果是这样,请阅读plist进入NSArray:

NSString *path = [[NSBundle mainBundle] pathForResource:
     @"my" ofType:@"plist"]; 

NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"words"];

然后,生成随机变量:

int randV = arc4random() % plistArray.count; // randV is from 0 to number of strings -1 in array

然后,设置标签的文字:

label1.text = plistArray[randV];

另外,我强烈建议您阅读一些书籍或者在提出类似问题之前先阅读一些教程。