iOS:在数组中查找属性x等于对象y的对象

Posted

技术标签:

【中文标题】iOS:在数组中查找属性x等于对象y的对象【英文标题】:iOS: Find object in Array whose property x is equal to object y 【发布时间】:2015-02-13 18:14:29 【问题描述】:

我有一个由 NSFetchedResultsController 管理的表格视图。这些条目对应于地图上的某些注释。表格视图本身可以以不同的方式排序。因此,当用户删除此表中的特定行时,我希望删除地图上的注释。由于我不能使用 fetchedObjects 数组中表行的索引,我有点迷失了。我现在想子类化 MKPointAnnotation 对象并添加我的 POI=Point of Interest 类的类型的一个属性。但是我不知道如果任何 POI 属性与刚刚被删除的 POI 对象匹配,我是否能够基本上查看 annotations 数组?

【问题讨论】:

【参考方案1】:

您有几个选择。您可以使用自定义比较器对注释数组进行排序。这样您就可以使用索引路径来删除项目。该方法在此处描述:How to sort an NSMutableArray with custom objects in it?

另一个选项是您可以为单元格提供对注释的引用,删除时只需删除该注释。

另一种选择是您可以循环遍历数组并自己检查条件。在没有哈希或索引的未排序集合上,这确实是唯一的其他选择。

【讨论】:

以上是关于iOS:在数组中查找属性x等于对象y的对象的主要内容,如果未能解决你的问题,请参考以下文章

在数组中查找不等于给定点的最近点

对象的扩展

在 NumPy 数组中查找等于零的元素的索引

ES6中对对象的扩展

ES6 对象扩展

MATLAB 如何判断某变量等于某数组中的一个元素