我能做到這一點,而不delegates
所以IDK的你的感受有關,但這並工作。我不得不調整一下代碼,所以可能有一兩個錯誤,因爲可能有些變量不存在,因爲我刪除了這個答案。
如果我沒有完全回答你想要的東西,或者如果你有任何問題,在[email protected]給我發電子郵件。COM
類API
API.h
-(void)getMyDataWithCompletionHandler:(void (^)(NSMutableArray *firstData, NSMutableArray *secondData))Final_callBack;
API.m
-(void)getMyDataWithCompletionHandler:(void (^)(NSMutableArray *firstData, NSMutableArray *secondData))Final_callBack {
NSString *firstURL = @"www.firstURL.com";
NSString *secondURL = @"www.secondURL.com";
__block bool firstIsBack = false;
__block bool secondIsBack = false;
__block NSMutableArray *firstArray = [NSMutableArray new];
__block NSMutableArray *secondArray = [NSMutableArray new];
[self getFirstData:firstURL
withCallBack:^(NSMutableArray *firstData) {
firstIsBack = true;
firstArray = firstData;
if (firstIsBack && secondIsBack){
Final_callBack(firstArray,secondArray);
}
}
}];
[self getSecondData:secondURL
withCallBack:^(NSMutableArray *secondData) {
secondIsBack = true;
secondArray = secondData;
if (firstIsBack && secondIsBack){
Final_callBack(firstArray,secondArray);
}
}
}];
}
視圖 - 控制
@property (strong, nonatomic) NSMutableArray *finalFirstArray; @property (strong, nonatomic) NSMutableArray *finalSecondArray;
- (void)viewDidLoad{
[super viewDidLoad];
API *myApi = [API new];
//make first call to
[myApi getMyDataWithCompletionHandler:^(NSMutableArray *firstData, NSMutableArray *secondData) {
_finalFirstArray = firstData;
_finalSecondArray = secondData;
}];
}
我相信我有其中的代碼你這麼拼命地尋找。給我一分鐘找到它。 – 2014-10-29 13:34:55