私はしばらくの間この問題に取り組んできましたが、うまくいく解決策を見つけることができません。各プレイヤーにランダムな名前が付けられるゲームを作成しています。ゲームの終了時に、1人以上のプレーヤーが常にリーダーボードの資格を得るスコアを持っている場合は、すべてのプレーヤーをループして、本名を入力できるUIAlertViewを表示し、その名前をに保存し直します。私のプレーヤーオブジェクト。ただし、ループを停止してアラートビューを表示し、応答を待ってから続行することはできません。誰かが私を助けることができますか?
これが私のループです:
for (int i = 0; i < [leaderboard count]; i++) {
NSDictionary *player = [[NSDictionary alloc] initWithDictionary:[leaderboard objectAtIndex:i]];
if ([[player valueForKey:@"isCurrentPlayer"] isEqualToString:@"YES"]){
// getRealPlayerName takes in a name parameter and displays an alertview
[self performSelectorOnMainThread:@selector(getRealPlayerName:) withObject:[player valueForKey:@"playerName"] waitUntilDone:YES];
// nameFromAlertView is a local variable that is set when the user enters a name in the alertview.
[player setValue:[self nameFromAlertView] forKey:@"playerName"];
[player setValue:@"" forKey:@"isCurrentPlayer"];
}
}