1
私はジョークアプリケーションを作成しました。ここでユーザーはジョークを生成し、ジョークはUILabelに表示されます。しかし、私はジョークショーをランダム化しようとしていますが、私は同じジョークを2回表示したくありません。どうすればいいのか教えてください。私はそれをしようとするには、以下のコードを使用していますが、それは動作していないようです。配列からランダムなオブジェクトを取得し、オブジェクトが同じ場合は新しいオブジェクトを取得
- (IBAction)generateNewJoke {
if (i < [jokeArray count]) {
i++;
[userDefaults setInteger:[userDefaults integerForKey:kNewIndex] forKey:kOldIndex];
int oldnumber = [userDefaults integerForKey:kOldIndex];
int newnumber = [userDefaults integerForKey:kNewIndex];
[answerLabel setText:@""];
[userDefaults setInteger:i forKey:kNewIndex];
if (oldnumber == newnumber) {
NSLog(@"they are the same");
[userDefaults setInteger:arc4random()%[jokeArray count] forKey:kNewIndex];
}
[jokeLabel setText:[jokeArray objectAtIndex:[userDefaults integerForKey:kNewIndex]]];
}
}
配列の最後かどうかはどのようにわかりますか? –
yourIndex> = [yourArray count]; –