我一直在研究这个问题一段时间,但找不到有效的解决方案。我正在创建一个游戏,其中每个玩家都被分配了一个随机名称。在游戏结束时,如果一个或多个玩家的分数使他们有资格进入历史排行榜,我想遍历所有玩家,显示一个 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"];
}
}