我知道作为一般指导,您应始终在主线程上执行GUI更新。但有时并不那么明显。例如,我应该在哪里执行呼叫:Cocoa-Touch - 有关执行GUI更新的线程指南
setBadgeValue:
的UITabBarItem
?
或者
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]
在它没有规定是否这些方法可以在非主线程运行的类引用。
我知道作为一般指导,您应始终在主线程上执行GUI更新。但有时并不那么明显。例如,我应该在哪里执行呼叫:Cocoa-Touch - 有关执行GUI更新的线程指南
setBadgeValue:
的UITabBarItem
?
或者
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]
在它没有规定是否这些方法可以在非主线程运行的类引用。
一般规则是你应该保持UIKit更新到主线程,除非UIKit通过你的实现从另一个线程调用。
有了这些信息,除非我或别人挖了更多的文档(这是我扫描的发行说明,并没有看到更多):
一个UITabBarItem的
setBadgeValue:
?
假设只从主线程调用是安全的。
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]
假设只从主线程调用是安全的。
不妨在主线程中调用它们以确保它的正确性。
不应该在非主线程上运行不意思? –
@Peter答案澄清/更新 – justin
感谢贾斯汀,虽然在发行说明中我看不到有关调用主(或非主)线程的任何信息?只有它是线程安全的? –