我有多個陣列和我希望,以檢查是否從一個陣列由隨機selcted字符串在另一個陣列並且如果是這樣顯示的圖像檢查是從陣列
我已globaly設置plistarray1和plistarray2在H串文件,並在第m文件我有以下
代碼的最後塊與我什麼即時strugling不能得到的圖像顯示基於從plistarray產生的隨機串。
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSString *path = [[NSBundle mainBundle] pathForResource:
@"data" ofType:@"plist"];
if ([[defaults objectForKey:@"truthonoff"] isEqualToString:@"YES"] && [[defaults objectForKey:@"dareonoff"] isEqualToString:@"YES"] ) {
self.text.text [email protected]"Are you ready for this?";
[Animations fadeIn:self.text andAnimationDuration:1.0 andWait:YES];
NSDictionary *plistDict1 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray * plistArray1 = plistDict1[@"truth"];
NSDictionary *plistDict2 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *plistArray2 = plistDict2[@"dare"];
self.plistArray = [[plistArray1 arrayByAddingObjectsFromArray:plistArray2] mutableCopy];
}
else if ([[defaults objectForKey:@"truthonoff"] isEqualToString:@"YES"]) {
self.text.text [email protected]"I hope you are feeling brave!";
[Animations fadeIn:self.text andAnimationDuration:1.0 andWait:YES];
NSDictionary *plistDict3 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *plistArray3 = plistDict3[@"truth"] ;
self.plistArray = [plistArray3 mutableCopy];
NSLog(@"%@", plistArray);
}
else if ([[defaults objectForKey:@"dareonoff"] isEqualToString:@"YES"]) {
self.text.text [email protected]"This could be interesting!";
[Animations fadeIn:self.text andAnimationDuration:1.0 andWait:YES];
NSDictionary *plistDict4 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray4 = plistDict4[@"dare"];
self.plistArray = [plistArray4 mutableCopy];
NSLog(@"%@", plistArray);
}
else {
self.text.text [email protected]"Please turn on Truth or Dare";
[Animations fadeIn:self.text andAnimationDuration:1.0 andWait:YES];
}
////display random quote from array
int randV = arc4random() % self.plistArray.count;
NSLog(@"%@", plistArray);
self.text.text = self.plistArray[randV];
[self.plistArray removeObjectAtIndex:randV];
[Animations fadeIn:self.text andAnimationDuration:1.0 andWait:YES];
//display truth or dare image
if ([plistArray containsObject:plistArray1]) {
// selectedString is from the truth array
self.truthimage.hidden = NO;
}
爲了獲得更好的性能,請使用NSSet中,而不是NSArray的。 containsObject:或者member:可以用來檢查一個對象是否存在。 – Dili