1

これは設計上の問題です。UITableView を管理する単一の ViewController があります。ユーザーは、このテーブルビューでアイテムを追加/編集/削除できます。このテーブルビューへの変更は、Web サービス呼び出しを介してバックエンド データベースに保持されます。これらの Web サービス呼び出しをラップするために ASIHTTPRequest を使用しています。ASIHTTPRequest 要求には、-(void)requestFinished:request および -(void)requestFailed:request を実装するデリゲート オブジェクトが与えられます。

明らかに、 -(void)requestFinished:request の実装は、ユーザーがレコードを削除しているか、テーブルビューを更新しているかによって異なります。これは通常どのように処理されますか? さまざまな種類のリクエストに対して一意のデリゲートを実装する必要があります。View Controller で「ステータス」フラグを設定して、どのリクエストが進行中であるかを示す必要がありますか?

ありがとう!

4

3 に答える 3

0

以下のコードを試してください...

- (void)requestFinished:(ASIHTTPRequest *)request
{

     if (request.tag == 1) { // 1 just an example
         /// do something here
     }
     else if (request.tag == 2) {
         /// do something here
     }
}

 - (void)requestFailed:(ASIHTTPRequest *)request
{

     if (request.tag == 1) { // 1 just an example
         /// do something here
     }
     else if (request.tag == 2) {
         /// do something here
     }
}

これがお役に立てば幸いです...

:)

于 2012-10-03T05:31:03.080 に答える
0

ASIHTTPRequest のドキュメントに従う必要があります

デリゲート メソッドでの複数のリクエストの成功と失敗の処理

http://allseeing-i.com/ASIHTTPRequest/How-to-use

これがあなたを助けることを願っています。

于 2012-10-03T05:09:17.653 に答える
0

tag作成している各要求に与える必要があります。

- (void)requestFinished:(ASIHTTPRequest *)request
{

    //Here you can differentiate each request using request.tag for individual request success

}

- (void)requestFailed:(ASIHTTPRequest *)request
{
    //Here you can differentiate each request using request.tag for individual request error
}
于 2012-10-03T05:13:51.363 に答える