の最初の項目のみを反復します *Students
のaddress
プロパティを実行すると仮定します。しかし何らかの理由で、NSMutableArray
全体を反復しているわけではなく、最初のオブジェクトだけです。for(studentArray内のidオブジェクト)は、配列
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);
}
}];
}
}
私が間違っていることはありますか?アプリはクラッシュせず、配列内の4人の生徒の1人だけをチェックするだけです。 ありがとう
デバッガでブレークポイントとステッピングを使用すると、何が表示されますか? – CRD
@CRDアプリケーションがクラッシュしない、4の代わりにログに1組の座標を出力するだけ(配列に4人の学生がいる) – Manesh
上記のコードの先頭にブレークポイントを置く。変数値を計算し、次にステップスルーします。ブロック内にブレークポイントを追加したいと思うかもしれませんが、そのステップに入ることはできません。問題が何であれ、おそらく明らかになります。 – CRD