作者a126040023 (TRAMI)
看板MacDev
标题[问题] didReveiveData的问题
时间Sat Jan 4 21:18:55 2014
请问一下在ios7新推出的功能MultipeerConnectivity中
在呼叫DidReceiveDataFromPeer这个方法时是在main thread中执行
还是另外呼叫一条thread处理呢?
如果是用main thread的话会不会发生处理第一条讯息时突然接受到第二条讯息
而导致第一条讯息处理被中断这样的问题产生?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.216.127
1F:→ darktt:可以用[NSThread isMainThread]来确认现在是否在 01/05 08:59
2F:→ darktt:main thread中 01/05 09:00
感谢楼上 的确不在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)
3F:→ uranusjr:UI 更新必须在 main thread, 否则应该是未定义行为 01/07 10:43