您的位置:首页 > 产品设计 > UI/UE

performSelectorOnMainThread: vs dispatch_async on main queue

2012-12-09 14:43 603 查看
By default,
-performSelectorOnMainThread:withObject:waitUntilDone:
only schedules the selector to run in the default run loop mode. If the run loop is in another mode (e.g. the tracking mode), it won't run until the run loop switches back to
the default mode. You can get around this with the variant
-performSelectorOnMainThread:withObject:waitUntilDone:modes:
(by passing all the modes you want it to run in).

On the other hand,
dispatch_async(dispatch_get_main_queue(), ^{ ... })
will run the block as soon as the main run loop returns control flow back to the event loop. It doesn't care about modes. So if you don't want to care about modes either,
dispatch_async()
may be the better way to go.

转载:http://stackoverflow.com/questions/9335434/whats-the-difference-between-performselectoronmainthread-and-dispatch-async-on-m
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: