[問題] didReveiveData的問題

看板MacDev作者 (TRAMI)時間11年前 (2014/01/04 21:18), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
請問一下在ios7新推出的功能MultipeerConnectivity中 在呼叫DidReceiveDataFromPeer這個方法時是在main thread中執行 還是另外呼叫一條thread處理呢? 如果是用main thread的話會不會發生處理第一條訊息時突然接受到第二條訊息 而導致第一條訊息處理被中斷這樣的問題產生? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.216.127

01/05 08:59, , 1F
可以用[NSThread isMainThread]來確認現在是否在
01/05 08:59, 1F

01/05 09:00, , 2F
main thread中
01/05 09:00, 2F
感謝樓上 的確不在main thread中執行,另外想請問一下假如UIView animation不在 main thread中被呼叫的話是不是會被block?因為我的 UIView animation在 didReceiveDataFromPeer中被呼叫, 但是直到約7秒後才被執行(其他剩下動作都被 執行完畢了)。之後我用dispatch_async(dispatch_get_main_queue(),^(){..code..}) 才讓動畫能夠在DidReceiveDataFromPeer被呼叫後及時呈現 ※ 編輯: a126040023 來自: 140.114.236.81 (01/07 00:00)

01/07 10:43, , 3F
UI 更新必須在 main thread, 否則應該是未定義行為
01/07 10:43, 3F
文章代碼(AID): #1Io0f2iH (MacDev)
文章代碼(AID): #1Io0f2iH (MacDev)