2010-08-31 64 views

回答

1

全局目前被認爲是醜陋的,但它們是一種無保護的預分配預初始化單例,並且在50年前計算機編程最佳實踐(Knuth書籍的第一版等)中都存在。維護全局變量的最佳方法包括使用大量非常明確的註釋,以便在代碼更加模塊化和可重用時(可能會以代碼大小爲代價),您可以考慮其他內容。爲了回答OP的問題,如果你修改了一個全局變量,那麼讀取該全局變量的任何控制器或視圖(以及在同一個線程中不覆蓋全局變量名的任何C或Objective C代碼)將會得到最新的價值。但是這個新價值不會被立即「推」出來。這些視圖或控制器不會注意到任何新值,直到最終調用某個實際讀取全局變量的方法。

如果您需要視圖或控制器來更快地響應,那麼您將需要通知或鍵值觀察,而不僅僅是修改全局變量。

1

全局是醜陋的。最好使用包含所有數據的單例「Data Manager」類,然後使用通知或鍵值觀察來更新ViewController的變化。