1

我有一个 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 是否为空重试加载数据!

4

1 回答 1

1

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

[[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];
于 2013-12-12T01:12:21.723 回答