執行主執行緒

在非同步執行任務時,通常需要確保在主執行緒上執行一段程式碼。例如,你可能希望非同步命中 REST API,但將結果放在螢幕上的 UILabel 中。在更新 UILabel 之前,你必須確保你的程式碼在主執行緒上執行:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //Perform expensive tasks
    //...

    //Now before updating the UI, ensure we are back on the main thread
    dispatch_async(dispatch_get_main_queue(), ^{
        label.text = //....
    });
}

每當你在螢幕上更新檢視時,請始終確保你在主執行緒上執行此操作,否則可能會發生未定義的行為。