我有一個線程可以調用我的許多接口函數。當它調用時我需要執行一些GUI操作,因爲我知道GUI需要在主線程中完成,現在我用如何在線程中執行GUI操作 - IOS
dispatch_async(dispatch_get_main_queue(), ^{
// Some method call...
});
它適用於大多數的情況下,還是我在這裏面臨的問題。對於如..我的接口功能,就像下面...
void interface_fun(char *name, int user_id) {
dispatch_async(dispatch_get_main_queue(), ^{
gui_acton_with_name(name, user_id);
});
}
現在名字指針是我在調度調用中得到零的大部分時間(我想我在這裏丟失數據),我試着用performselectoronMainthread方法..但我不知道如何與多個參數用這個..
任何想法,感謝..
@dramlax感謝您的回覆..有了這些變化,是否有可能丟失上述數據。 – Newbee
如果你用'@(name)'把'name'加入到一個NSString中,並且存儲在一個字典中,那麼你將不會丟失數據,因爲它會爲你創建一個副本。 – dreamlax