點擊一個按鈕後,我打電話給一個Web服務,之後我推送一個UIViewController
。我的UIViewController
應該加載從Web服務獲得的數據。但是目前,在我的網絡服務被調用之前,UIViewController
正在被推送。我可以做些什麼來確保我的UIViewController
在所有Web服務調用和數據檢索之前都未加載。只有在調用所有Web服務後才執行一段代碼
這是我使用的代碼。
MyWebService *webservice = [MyWebService myWebService];
webservice.delegate = self;
[webservice getMyDataWithMyNumber:mySharedNumber myOldNumber:temp];
[webservice getvDetailsWithmyData:myData myNumber:myNumber];
MyViewController *myViewController = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
[self.navigationController pushViewController: myViewController animated:YES];
[myViewController release];
編輯:UIViewController
只有在兩個Web服務被調用後才應該推送。 我正在將一個數組傳遞給新的UIViewController
。數組對象在Web服務調用期間添加。我無法找到一種方法來做到這一點。需要幫忙。謝謝。
修訂我不熟悉代表團模式。你可以挑起一些例子或鏈接。 – 2012-03-21 18:07:15
閱讀Cocoa基礎指南中的部分:https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html#//apple_ref/doc/uid/TP40002974-CH7 -SW18 – bandejapaisa 2012-03-21 18:53:11
我不明白如何使用委託將確保所有其他代碼只有在Web服務調用完成後纔會執行。 – 2012-03-21 19:02:08