ボタンを押すとラベルが変わるコードがあります。ラベルが 2 回続けて同じ値を取得しないようにコードを記述しようとしましたが、2 回続けて同じ値が取得されることがあるため、うまくいきませんでした。
正しい解決策は何ですか?
これはコードです:
- (IBAction)buttonPressed:(id)sender {
if (sender == self.button) {
// Change the randomLabel by right answer
NSString *path = [[NSBundle mainBundle] pathForResource:@"words" ofType:@"plist"];
words = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSString *generateRandomLabel = [NSString stringWithFormat:@"%@", [words objectAtIndex:arc4random_uniform([words count] - 1)]];
if ([randomLabel.text isEqualToString:generateRandomLabel]) {
while ([randomLabel.text isEqualToString:generateRandomLabel]) {
generateRandomLabel = [NSString stringWithFormat:@"%@", [words objectAtIndex:arc4random_uniform([words count] - 1)]];
}
} else if (![randomLabel.text isEqualToString:generateRandomLabel]) {
[self.randomLabel setText:generateRandomLabel];
[randomLabel.text isEqualToString:generateRandomLabel];
}
}