gpt4 book ai didi

ios - 比较/查找两个 NSArray 并获得正确的值

转载 作者:行者123 更新时间:2023-11-29 01:23:28 24 4
gpt4 key购买 nike

在我的项目中,我将两个不同的数据集存储在两个单独的数组中。现在我正在尝试查找/比较某些字段是否相等,然后添加额外的值,例如:

数据集 1:

for ( int i=0; i<[self.plarray count]; i++)
{
Places *object2 = [self.plarray objectAtIndex:i];
ePlaces = object2.pCitpr;

NSLog(@"FD: %@", ePlaces);
}

数据集 2:

for ( int i=0; i<[self.data count]; i++)
{

Mpobject *object3 = [self.data objectAtIndex:i];
ePlaces2 = object3.oLocation;

NSLog(@"MP: %@", ePlaces2);

}

第二个数据集返回的计数较低,但输出也存储在数据集 1 中。数据集 1 包含额外的值,例如我想添加到数据集 2 的(经/纬度)GPS 坐标。

因此,检查数据集 1 的值是否等于数据集 2 的值,然后将额外的(经/纬度)值添加到数据集 1。

我需要这样做的原因是因为我的项目中有一个 JSON 文件,它包含所有城市的 GPS 坐标,需要将其设置为我的 mapView 中的注释。

现在...数据集 2 只有城市名称,所以没有坐标,我可以使用 CLGeocoder 对坐标进行反向查找,但如果请求太多,它会发出警告。 Apple 的文档还说您每分钟只能进行一次查找。

我希望它是可以理解的。

附言。请原谅我的语言,我来自荷兰。

最佳答案

在不知道每个对象的属性的情况下,很难知道如何为此提供代码,但您只需迭代两个数据集并比较相关属性,然后分配值即可。

   for (int i =0; i<[self.plarray count]; i++) {
for (int j = 0; j<[self.data count]; j++) {

Places *object = [self.plarray objectAtIndex:i];
Mpobject *object1 = [self.data objectAtIndex:j];

if ([object.name isEqualToString: object1.name])
{
object1.lat = object.lat;
object1.lon = object.lon;
}
}
}

关于ios - 比较/查找两个 NSArray 并获得正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314978/

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