私のアプリでgetValuesAndCalculate
に電話する必要があります。しかし、その作業を行うためには、サーバーからレコードを取得する必要があります。これは、非同期呼び出しで行う必要があります。サーバーデータは、コールバック関数を介して受信されます。したがって、getValuesAndCalculate
では、計算を進める前にデータがあるまで待つ必要があります。これをどのように実装すればよいですか?iOS/iPhoneでコールバック関数が返るのを待つ
0
A
答えて
2
使用プロトコルおよび代表者:
代表団は何もありませんが、あなたは、サーバー側のオブジェクトへのあなたのクラスからオブジェクトを割り当てます。 サーバーはこのオブジェクトを使用して、クライアント側のコードでメソッドを呼び出すことができます。
+0
また、NSNotificationCenterを使用することもできます。それは同じだ。 ループなどを使用しないでください。応答が来るまでアプリをブロックする必要はありません。あなたのアプリは何か起きるまで待つ必要があります。 – kinghomer
0
サーバからデータを取得するまでNSRunloopを使用してみてください。
しばらく { [[NSRunLoop currentRunLoop] RUNMODE:NSDefaultRunLoopMode beforeDate:1.0] }(isFinished!):
0
あなたはこの質問IE用のスレッドを実装することができ、
// in main thread
// start activity indicator
NSThread *calculateThread = [[NSThread alloc] initWithTarget:self selector:@selector(getValuesAndCalculate) object:nil];
[calculateThread start];
// End of Main thread
- (void)getValuesAndCalculate
{
// Perform transactions with server
[self performSelectorOnMainThread:@selector(continueMainThreadOperations) withObject:nil waitUntilDone:YES];
}
などについては
それはそれです!
関連する問題
- 1. コールバック関数が返るまで待つ方法は?
- 2. 複数のコールバックを待つ
- 3. PHPが関数を待つ
- 4. aerospike_query_foreachでビルドエラーを返すコールバック関数
- 5. 関数内のJQuery $ .post。コールバックが返り値を定義するのを待ちます。
- 6. 非同期コールバック関数の値を返すNode.JS関数
- 7. 1つの関数で呼び出し元/コールバックを折り返す
- 8. 関数が値を返すのを待っています
- 9. 親関数に値を返す関数のコールバックを取得する
- 10. iOS/Swiftで関数が終了するまで待つ方法
- 11. $ thisでコールバック関数
- 12. S3 putObjectコールバックが期待されたオブジェクトを返さない
- 13. コールバック関数から他のコールバック関数にコールする方法
- 14. jquery - 関数が終了するまで待つ
- 15. 関数がロードされるまで待つ
- 16. jQueryコールバック関数が累積
- 17. Javascript - 値を返すか、コールバック関数を使用する
- 18. bootstrap3のモーダルでコールバック関数
- 19. ES5:forEachですべてのアイテムがコールバックされたら親関数を返す
- 20. 1つまたは2つのコールバックを使用した関数コールバック処理?
- 21. コールバック関数から返されるajaxの結果
- 22. コールバック関数
- 23. コールバック関数
- 24. コールバック関数
- 25. ob_start();コールバック関数
- 26. Javascriptを - コールバック関数
- 27. 3つのパラメータのScheme関数を3つ返す関数
- 28. コールバック関数のAttributeError
- 29. GenServerのコールバック関数
- 30. C#のコールバック関数
独自のロジックを持つプロトコルに進む.. – ajay
サーバのデータコールバック関数からgetValuesAndCalculateを呼び出しますか? – danielbeard
[AFNetworking](https://github.com/AFNetworking/AFNetworking)をご覧ください。ASync要求を行い、ブロックを使用して応答を処理できます。 – rckoenes