我正在嘗試調整UILabel以適應裏面的文本。事情看起來很簡單,但這裏是我在做什麼:iOS可能的線程問題
[GKTurnBasedMatch loadMatchWithID:[matchReceived matchID] withCompletionHandler:^(GKTurnBasedMatch *updatedMatch, NSError *error){
NSPropertyListFormat plf;
NSMutableDictionary* gameData = [NSPropertyListSerialization propertyListWithData:updatedMatch.matchData options:NSPropertyListMutableContainersAndLeaves format:&plf error:nil];
myLabel.text = [gameData objectForKey:@"DictionaryText"];
[myLabel sizeToFit];
}
如果我把文本的設置添加,調整大小根據需要調整myLabel適應一個performSelector用幾秒鐘的延遲。但是我需要在遊戲數據加載後立即更新標籤。
我試過對MainThread執行操作,但沒有奏效。
任何想法?
正如我在下面回答的評論提到,建成塊總是叫上主隊列,但實際的請求加載匹配是在後臺完成的,這意味着在將控制權交給其完成處理程序之前,該方法需要一點時間才能執行。鑑於* request *需要時間,不一定是UI更新,可能和選項是在代碼的早期調用此調用,或者添加某種依賴關係,或者使用佔位符,直到數據加載 – 2015-04-03 18:21:48