基本上我创建了一个应用程序,它从给定的plist中选择随机字符串,然后将它们显示给用户。目前我有一个说真话的目录和一个敢于用户点击真相显示真相,当他们点击它显示敢于敢。
保持相同的结构我想添加一个随机按钮,允许用户点击随机,它显示真相或敢于如何从两个数组中读取数据。
我想将两个数组合并为一个,然后输出一个随机问题。我试图谷歌它,但似乎陷入了这个。
这是我的代码
- (IBAction)dare:(id)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:
@"extreme" ofType:@"plist"];
NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"dare"];
int randV = arc4random() % plistArray.count;
self.joke.text = plistArray[randV];
NSLog(@"dictionary: %@, array: %@", plistDict, plistArray);
}
Plist结构
- (IBAction)truth:(id)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:
@"extremem" ofType:@"plist"];
NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"truth"];
int randV = arc4random() % plistArray.count;
self.joke.text = plistArray[randV];
NSLog(@"dictionary: %@, array: %@", plistDict, plistArray);
}
另外,我如何确保用户不会被问两次相同的问题?我正在考虑一个变量的行来设置是或否,如果它们是肯定的那么请问那么不要问?我们怎么做?
答案 0 :(得分:0)
我已经提出了这个代码。唯一的问题是我似乎无法释放阵列?
你觉得怎么样?- (IBAction)truth:(id)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:
@"test" ofType:@"plist"];
NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray = plistDict[@"truth"];
NSDictionary *plistDict2 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray2 = plistDict2[@"dare"];
plistArray = [plistArray arrayByAddingObjectsFromArray:plistArray2];
NSLog(@"%@", plistArray);
int randV = arc4random() % plistArray.count;
self.joke.text = plistArray[randV];
NSLog(@"dictionary: %@, array: %@", plistDict, plistArray);
}