0

サーバーへのリクエストに関する質問。

サーバーと通信するためのクラス WebApi があり、コントローラーはインスタンス メソッド WebApi を呼び出します。

クエリを作成して、指定したアドレスに接続するだけです。接続の読み込みが完了したとき

- (Void) connectionDidFinishLoading: (NSURLConnection *) connection
{
     _jsonData = [NSJSONSerialization JSONObjectWithData: response options: 0 error: nil];
}

プロパティ WebApi クラスにダウンロードされた応答が含まれていることをコントローラーで知る方法、つまり、ViewController 内に(NSArray *) _jsonData格納されているデータをいつ使用できるかを理解する方法を教えてください。_jsonData

4

1 に答える 1

0

問題を解決しました。WebAPI 内でプロトコルを作成する必要があります。

@protocol ProtocolWebResponse

@required

  -(void)updateDataPromoInTheController:(NSDictionary *)response;

@end

WebAPIでinitWithDelegate関数を作成

  - (id) initWithDelegate:(id)delegate

{

self = [super init];
if(self !=nil) {
    //As a delegate set our controller
    self.delegate = delegate;
}
return self;

}

WebApi クラスにも

- (void) connectionDidFinishLoading:(NSURLConnection *)connection

{

   _jsonData = [NSJSONSerialization JSONObjectWithData:response options:0 error:nil];
    if([self.delegate conformsToProtocol:@protocol(ProtocolWebResponse)]) 
    {
         [self.delegate updateDataPromoInTheController:_jsonData];
    }

}

Controller クラスにプロトコルを実装します。

- (void)updateDataPromoInTheController:(NSDictionary *)response

{

   self.response = response;

}

于 2013-01-07T11:58:25.133 に答える