gpt4 book ai didi

ios - NSMutableArray 项完全相同

转载 作者:行者123 更新时间:2023-11-28 18:15:44 24 4
gpt4 key购买 nike

我有一组 map 注释,我正在迭代这些注释以将其存储到我自己的数据模型中。我检查了日志语句以确保坐标实际上不同,它们确实不同。但是,当我尝试遍历相同的引脚数组并将坐标添加到我的模型时,所有坐标都完全相同。

我知道我的循环是罪魁祸首,但不太明白为什么会这样:

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

有什么想法吗?

最佳答案

除非self.cameraModel (持有此代码的对象的属性)是某种生成 AnnotationCameraModel 的工厂对象具有方法的对象 initWithData:你的问题在于:

AnnotationCameraModel *cameraModel = [self.cameraModel initWithData:pinCoordinate];

我怀疑这个属性只是一个简单的 AnnotationCameraModel对象及其初始化器(取决于它的编写方式)返回自身。

将该行更改为:

AnnotationCameraModel *cameraModel = [[AnnotationCameraModel alloc] initWithData:pinCoordinate];

专线coordinates[i] = currentPin.coordinate;也没有多大意义。您可能想要 coordinates[i++] = currentPin.coordinate; 行中的内容

关于ios - NSMutableArray 项完全相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com