在我的代碼我有多個位置,我必須檢查所有的位置是否正確(檢查與谷歌API)如果位置是正確的我必須得到該位置的座標。如何等待for循環(Xcode,Objective C,iOS)中的callBack方法(或)響應?
我想在for循環中編寫代碼是否有任何方法來等待for循環中的響應。
我在下面粘貼我的代碼。
在此先感謝。
for (int locationsCount=0;locationsCount<results.count;locationsCount++)
{
NSString *googlelocations = [[results objectAtIndex:locationsCount]objectForKey:@"description"];
if ([locationAddress isEqualToString:googlelocations])
{
[[LocationManager share] fetchLatLngForPlacename:googlelocations placeId:[[results objectAtIndex:locationsCount] objectForKey:@"place_id"] completion:^(double lat, double lng, NSError *error)
{
[SVProgressHUD dismiss];
if (error) {
}else {
CLLocation *locationCoordinates = [[CLLocation alloc]initWithLatitude:lat longitude:lng];
NSMutableArray *globalArray = [[LocationManager share]getManualInterLocationArray];
NSMutableDictionary *dict = [[globalArray objectAtIndex:selectedTextField.tag] mutableCopy];
[dict setObject:locationCoordinates forKey:@"location_coordinates"];
[dict setObject:googlelocations forKey:@"location_Address"];
[dict setObject:[NSNumber numberWithBool:true] forKey:@"manualEntry_Flag"];
[globalArray replaceObjectAtIndex:selectedTextField.tag withObject:dict];
[[LocationManager share]saveManualInterLocationArray:globalArray];
}
}];
}
}
我想要的方式進行回調。可能嗎? –
是的! A編輯了答案 – iamirzhan
上述方法被回調函數調用,所以完成該過程後我們必須發送確認才能繼續下一個過程。如果(appDelegate()。internetSatus == false){ return;}(void)(void } addressArrayCount = 0; (自動地址驗證:地址數組和計數完成:^(BOOL isSuccess) { if(isSuccess){callBack(true); NSLog(@「completed」); } }]; } –