我有一个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是空的重试加载数据!!
答案 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];