0

关于对服务器的请求的问题。

有一个类WebApi与服务器通信,控制器调用实例方法WebApi。

只需创建一个查询并连接到指定的地址。当连接完成加载时

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

在控制器中如何知道属性(NSArray *) _jsonDataWebApi类包含下载的响应,即如何理解什么时候可以使用存储在_jsonDataViewController内部的数据?

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 回答