viewWillAppear
でサービスを呼び出すためにNSOperationQueue
を使用しています(これについてはviewDidLoad
に入れてみました)。私はサービスから得た結果に基づいてUITableView
を投入しています。アプリケーションをデバッグすると、テーブルが最初に呼び出され、次にoperationQueueが呼び出されます。このようにしてテーブルは私のために空です。 operationQueueの後に表を挿入する方法は、その仕事を行います。ここでNSoperationQueueが開始される前にUITableViewが再ロードされます
コードです:
viewWillAppear:
-(void)viewWillAppear:(BOOL)animated
{
operationQueue=[[NSOperationQueue alloc] init];
ParseOperation *obj=[[ParseOperation alloc] initWithMembers:ID];
[operationQueue addOperation:obj];
[obj release];
}
上記のNSInvocationOperationのコードは、ParseOperation * obj = [ParseOperation alloc] initWithMembers:ID]の後にviewWillAppearに配置されますか? 私はこれを今試したので、うまくいきませんでした。それでもテーブルメソッドが最初に呼び出されており、テーブルに出力できません。同じクラスでmyReload関数も作成しましたが、動作しません。 – Nitish
あなたのテーブルリロードはどんな場合でも自動的に呼び出されます(特にUITableViewControllerを使用している場合)。しかし、最初は空のテーブルを表示するので、それについて心配するべきではありません。しかし、操作が完了した後、新しいリロードを再度呼び出す必要があります。そのような場合は、表が移入されていることを確認する必要があります。 2つの操作を一緒に作成してから(最初にParseOperationを実行してから操作を再ロードする)、キューに追加してからキューを開始する必要があります(キューを作成するときに「中断」として設定することをおすすめします。 NSOperationを使用するのはなぜですか? – viggio24
ありがとう、たくさんの男。実際、私はoperationQueueにNSInvocationOperationを追加していませんでした。それは絶対にうまく動作しています。 – Nitish