for(studentArray中的id obj)只迭代数组中的第一项

时间:2017-08-02 21:19:46

标签: ios objective-c xcode nsmutablearray

以下内容是假设NSMutableArray *Students address属性NSMutableArray。但由于某些原因,for不会遍历整个CLGeocoder *geocoder = [[CLGeocoder alloc] init]; for (id obj in studentArray) { if ([obj isKindOfClass:[Student class]]) { Student *selectedStudent = obj; [geocoder geocodeAddressString:selectedStudent.address completionHandler:^(NSArray* placemarks, NSError* error){ for (CLPlacemark* aPlacemark in placemarks) { NSString *latDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.latitude]; NSString *lngDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.longitude]; NSLog(@"%@, %@",latDest1, lngDest1); } }]; } } ,只会迭代第一个对象。

$scope.localDateFormat = $locale.DATETIME_FORMATS;

任何想法我可能做错了什么?该应用程序不会崩溃,只需检查阵列中的4名学生中的一名。 谢谢

1 个答案:

答案 0 :(得分:1)

看起来地理编码不会返回下一个Student对象的地标。问题可能是因为太多的地理编码请求。 从关于地理编码的Apple文档:

  

启动转发地理编码请求后,请勿尝试   启动另一个正向或反向地理编码请求。天气预报   每个应用程序的请求都是速率限制的,因此请求过多   短时间内可能会导致某些请求失败。什么时候   超过最大速率,地理编码器传递一个错误对象   完成处理程序的价值网络。