2015-01-01 49 views
0

我試圖在等待另一個類中的方法返回值時顯示加載指示符。另一個類將使用NSData從URL獲取數據(用於服務器登錄目的)。目標C - 在繼續之前等待另一個類的方法完成

我只想知道如何在主函數中阻止我的代碼,以便在等待其他類中的方法返回值時停止執行。我遇到的主要問題是指標消失,因爲代碼在獲得價值之前仍在繼續運行。

我的代碼是:

[self.view addSubview:loadingView]; 
loggedIn = [classB login:username password:password]; 
// More code 

[loadingView removeFromSuperview]; 

我只是想知道我怎麼就能繞過不是顯示器的指標。它會顯示,如果我刪除以下行:

[loadingView removeFromSuperview]; 
+6

不要這麼想。永遠不要,永遠不要「停止你的代碼」或「等待」。 _部分代碼之間的通信。如果需要,使用延遲的性能爲接口提供更新機會。 – matt

+0

請參閱[如何等待異步方法結束?](http://stackoverflow.com/q/6333133) –

回答

1

Send a notification當過程完成。 Add the controllerloadingView作爲該通知的觀察者。當控制器收到通知時刪除loadingView

編輯:添加鏈接到文檔。

+0

對不起,我對IOS開發頗爲陌生。我將如何去做這樣的事情? –

+0

@AwaisHussain我添加了文檔鏈接。 – dasdom

+0

非常感謝。非常感激你的幫助 –

相關問題