我知道作爲一般指導,您應始終在主線程上執行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
感謝賈斯汀,雖然在發行說明中我看不到有關調用主(或非主)線程的任何信息?只有它是線程安全的? –