NSURLSession,重试加载数据

时间:2013-12-12 01:01:28

标签: ios objective-c nsurlsession

我有一个NSURLSession,用于从云中加载一些数据。我用这个电话

  [[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
 if (!error) {
     NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
     if (httpResp.statusCode == 200) {
        NSError *jsonError;
        myArray = [[NSArray alloc] init];
        myArray = [NSJSONSerialization JSONObjectWithData:data
                                                         options:NSJSONReadingAllowFragments
                                                           error:&jsonError];
     }
  }
}] resume];

现在有时候我经历了这个并且myArray是空的,所以我想知道我是否可以在里面检查如果myArray是空的重试加载数据!!

1 个答案:

答案 0 :(得分:1)

只需添加一个if语句来检查数组计数是否等于零,如果是,则重试连接。

[[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
 if (!error) {
     NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
     if (httpResp.statusCode == 200) {
        NSError *jsonError;
        myArray = [[NSArray alloc] init];
        myArray = [NSJSONSerialization JSONObjectWithData:data
                                                     options:NSJSONReadingAllowFragments
                                                       error:&jsonError];
       //Check for an empty array
       if ([myArray count] == 0) {
           //retry
       }
     }
  }
}] resume];