2012-01-02 12 views
1

私はUITableViewで作成しました。その中で、セルのいずれかをタップすると(-didSelectRowAtIndexPath)、そのセルに関連付けられたWebServiceが呼び出されます。WebServiceにリクエストを書き込む場所

問題は、JSon応答を処理するために、要求が返されます。 その応答はどこから処理する必要がありますか?

テーブルのセルにタップすると、ビューが変更されます(-didSelectRowAtIndexPath)。すべての応答情報を次のビューに渡す必要があります。

質問:セルをタップした後、次のビューが読み込まれる前にサービスを呼び出す必要があるかどうかです。

これを処理するのに最も適切なイベントは、次のビューの(-didSelectRowAtIndexPath)または(-viewDidLoad)ですか?

提案がありますか?
ありがとうございます。

答えて

1

行が選択されたら、NextViewControllerを割り当てます。 NextViewControllerにセッターメソッドを書き込むことによって、行が選択されたことをNextViewControllerに通知します。そのセッターメソッドで、リクエストを開始します。次に、NextViewControllerを押します。

現在表示されているように、NextViewControllerでWebリクエストを処理できます。応答に応じてビューをリロードすることができます。

編集

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NextViewController *detailViewController = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil]; 
    id obj = [_list objectAtIndex:indexPath.row]; 
    //[detailViewController startWebRequest]; 
    [detailViewController startWebRequestWithObject:obj]; 
    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 
} 

あなたが任意のオブジェクトを渡す必要がある場合は、メソッドに渡します。この方法では、Web要求を開始します。 NextViewControllerで応答を処理します。

+0

詳細を詳しく教えてください、混乱しますか? – viral

+0

私は自分の答えを更新しました。それを見てください。 – Ilanchezhian

+0

申し訳ありませんが、問題が発生しました:)しかし、応答が完了する前にNextViewがロードされています。そして問題は、私はその応答に基づいて私のUIを設計する必要があります。どのように私はそれを行うことができます任意のアイデアがありますか? – viral

関連する問題