首先之前完成,我用故事板,解析後端和Objective-C程序(iOS 8項目)等待解析查詢更新UI
我有一個得到了從下載特定列視圖控制器當前打開的行。我也在這個ViewController中有一個容器發送一個新的查詢,但是這個查詢需要VC1中的列值。由於在容器啓動之前不會下載,所以會嘗試與(null)進行比較時引發異常。
像這樣:(valueFromMainVC爲空,直到VC1下載完畢)
[query whereKey:@"MyColumn" equalTo:valueFromMainVC];
這種情況發生在 - (PFQuery *)queryForTable方法
-(PFQuery *)queryForTable {
}
我該如何解決這個問題?我嘗試使用while(){}語句,以便在下載valueFromMainVC之前不會開始,但是我沒有取得任何成功。
(我用辛格爾頓到ViewControllers之間共享valueFromMainVC。以及其他值)
幫助深表感謝!
謝謝! Erik
不知道我明白。我有一個VC的子VC在一個容器中,一旦父VC加載後加載。然後它會嘗試與下載之前應用中尚未存在的內容進行比較。你能否詳細說明你的意思,以及這將如何工作?我想到的一種解決方案是,根據請求以不同的方式在容器上調用viewDidLoad(這將在valueFromMainVC下載的完成塊中調用),而不是一次啓動的容器 – Erik 2014-10-30 19:18:38
對不起,如果我混淆了,請告訴我我仍然無法正確理解。假設我上面提供的代碼在你的第一個VC中運行,我提供的函數查詢原始VC所需的數據,並且在數據查詢完成併成功返回之前,它不會啓動子VC。你可以把代碼放在我的代碼中'else'語句中啓動子VC。 – dstefanis 2014-10-30 19:49:30
沒問題;)現在我明白你的意思了,那也是我的想法。如何根據要求而不是立即「啓動」容器? – Erik 2014-10-30 19:59:24