-4

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

这是我的.plist在此处输入图像描述

这是我的 .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 {
}
4

1 回答 1

4

首先你应该重新排列你的 plist 文件,所以所有的字符串都在一个数组中(现在你的字符串不在“words”数组中)。如果是这样,将 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];

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

于 2013-05-18T22:55:45.120 回答