-1
我想在我的主視圖控制器加載之前更新我的模型對象。目前,更新視圖的代碼在我的模型從服務器接收數據之前運行,所以主視圖顯示錯誤的數據。如何延遲viewDidLoad()直到從服務器響應?
我正在使用PubNub。在appdelegate中設置了一個監聽器,可以在收到數據時觸發。
我想在我的主視圖控制器加載之前更新我的模型對象。目前,更新視圖的代碼在我的模型從服務器接收數據之前運行,所以主視圖顯示錯誤的數據。如何延遲viewDidLoad()直到從服務器響應?
我正在使用PubNub。在appdelegate中設置了一個監聽器,可以在收到數據時觸發。
千萬不要延遲viewDidLoad() - 當沒有數據存在時,您需要有一個空白/加載屏幕來顯示。一旦數據到達,它就會調用一個更新函數來顯示它。
我同意Cesar。試圖延遲viewDidLoad是不好的mojo,並且可能會導致你的應用程序被終止,因爲系統會認爲它被掛起。在等待服務器時需要顯示SOMETHING。浮動「加載,請稍候」視圖與活動指標是一種可能性。 –
你需要實現類似於'updateData'來從後端加載,並用一些加載指示器重新加載你的'viewController',這不是一個好主意在主線程上等待服務器響應的任何東西 –
你不想要出於任何原因延遲'viewDidLoad'。這是一個糟糕的用戶體驗,如果它發生在錯誤的時間,看門狗進程可能會終止你的應用(0x8badf00d; lol)。相反,你應該讓你的應用程序顯示最後已知的數據和/或一些調光視圖和/或'UIActivityIndicatorView',讓用戶知道更多的數據進來。 – Rob