以下内容是假设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名学生中的一名。 谢谢
答案 0 :(得分:1)
看起来地理编码不会返回下一个Student对象的地标。问题可能是因为太多的地理编码请求。 从关于地理编码的Apple文档:
启动转发地理编码请求后,请勿尝试 启动另一个正向或反向地理编码请求。天气预报 每个应用程序的请求都是速率限制的,因此请求过多 短时间内可能会导致某些请求失败。什么时候 超过最大速率,地理编码器传递一个错误对象 完成处理程序的价值网络。