我有一组映射注释,我正在迭代存储到我自己的数据模型中。我已经检查过日志,以确保坐标实际上不同,它们是。但是,当我尝试遍历相同的引脚数组并将坐标添加到我的模型中时,所有坐标都完全相同。NSMutableArray项目都完全一样
我知道,我的循环是罪魁祸首,但不能完全弄清楚为什么会发生的事情:
NSMutableArray *modelArray = [NSMutableArray new];
for (PinObject *currentPin in self.mapPins) {
CLLocation *pinCoordinate = [[CLLocation alloc] initWithLatitude:currentPin.coordinate.latitude longitude:currentPin.coordinate.longitude];
AnnotationCameraModel *cameraModel = [self.cameraModel initWithData:pinCoordinate];
coordinates[i] = currentPin.coordinate;
[modelArray addObject:cameraModel];
}
for (AnnotationCameraModel *model in modelArray) {
NSLog(@"Coordinate: %@", model.coordinate);
}
当我登录我的观点我结束了:
Coordinate: <+14.56841634,+121.03354250> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/17/16, 9:00:14 PM Philippine Standard Time
Coordinate: <+14.56841634,+121.03354250> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/17/16, 9:00:14 PM Philippine Standard Time
Coordinate: <+14.56841634,+121.03354250> +/- 0.00m (speed -1.00 mps/course -1.00) @ 11/17/16, 9:00:14 PM Philippine Standard Time
任何想法?
我打赌这些坐标记录在你的mapPins阵列*最后*坐标,对不对? @RokJarc和[和号] riyaz的回答对我来说都是正确的。简而言之,您一次又一次地向数组中添加相同的对象(cameraModel),每次通过不恰当地调用它的init方法来突出该对象。 – danh