我從Web服務獲取數據。然後我想將這些數據放入一個可變數組中並返回該數組。我只是爲了檢查數組是否爲空。如何在成功塊中返回一個數組ios
我在我的頭文件
typedef void(^FailureBlock)(NSError *error);
typedef void(^SuccessBlock) (NSArray *responseArray);
這是我實現文件
- (void)setupConnectionWithsuccess:(SuccessBlock)success failure:(FailureBlock)failure
{
airportArray = nil;
NSString *Code = [NSString stringWithFormat:@"something"];
NSString *authCode = [NSString stringWithFormat:@"something"];
NSString *baseurl = [NSString stringWithFormat:@"someurl%@%@",authCode,Code];
// NSString *mainurlString = [NSString stringWithFormat:@""];
// NSURL *mainurl = [NSURL URLWithString:mainurlString];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:baseurl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSArray *mainArray = (NSArray *)responseObject;
airportArray = [[NSMutableArray alloc] init];
for (NSDictionary *all in mainArray) {
airports = [all objectForKey:@"port"];
[airportArray addObject:airports];
NSLog(@"%@", airports);
}
if(_successBlock){
_successBlock(airportArray);
}
//NSLog(@"%@", responseObject);
}
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (_failureBlock) {
_failureBlock(error);
}
UIAlertController *mainAlert = [UIAlertController alertControllerWithTitle:@"Something Wrong!" message:[error localizedDescription] preferredStyle:UIAlertControllerStyleAlert];
[self presentViewController:mainAlert animated:YES completion:nil];
}];
}
- (void)printap
{ NSLog(@"ffffuuu");
[self setupConnectionWithsuccess:^(NSArray *responseArray) {
NSLog(@"Checking ::::%@", responseArray);
} failure:^(NSError *error) {
UIAlertController *failureAlert = [UIAlertController alertControllerWithTitle:@"Errrrr..." message:@"Errrrr...." preferredStyle:UIAlertControllerStyleAlert];
[self presentViewController:failureAlert animated:YES completion:nil];
}];
NSLog(@"fkjfkdjkfjdkfjdk");
}
**我想要檢索的數據後,使用此airportArray定義這個(要返回數組)。我怎麼能做到這一點
您對發佈的代碼有什麼問題?在printapp'ffffuuu'和'fkjfkdjkfjdkfjdk'內打印 – rmaddy
。但不會成功阻止或失敗block.is有什麼問題。實際上我想要的是在數據添加到它之後返回airportArray –
使用調試器並查看'setupConnectionWithSuccess:failure:'方法內發生了什麼。 – rmaddy