菜鸟教程小白 发表于 2022-12-13 09:55:21

ios - 合并两个 NSArray 删除重复项


                                            <p><p>我有一组城市和一组国家。
这两个对象有一个共同的属性:城市名称。
我需要创建一个新数组,添加城市数组中没有城市名称的所有国家/地区。</p>

<p>我尝试在两个数组上进行迭代,比较城市名称并将不同的名称添加到新数组中。结果是,当它检查第一个城市时,所有具有其他名称的城市都被添加到数组中,因此 Cities 数组中的其他城市也已经存在。</p>

<pre><code>self.filteredCountriesArray = ;

for (Country* country in self.countries) {
    for (City *city in self.cities) {
      if (!) {
            ;
      }
    }
}
</code></pre>

<p>建议?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>不确定我是否明白你想要什么,我猜你想做这样的事情:</p>

<pre><code>for (Country *country in self.countries) {
    BOOL found = NO;

    for (City *city in self.cities) {
      if () {
            found = YES;
            break;
      }
    }

    if (!found) {
      ;
    }
}
</code></pre>

<p>为了加快速度,我会先创建一个带有城市名称的 <code>NSSet</code>:</p>

<pre><code>NSMutableSet *cityNames = ;
for (City *city in self.cities) {
    ;
}

for (Country *country in self.countries) {
    if (!) {
      ;
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 合并两个 NSArray 删除重复项,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26884328/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26884328/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 合并两个 NSArray 删除重复项