更好地在NSManagedObject数组中查找具有ID的对象

时间:2016-04-14 10:59:40

标签: arrays swift nsmanagedobject

我正在尝试查找和更新NSManagedObjects数组中的对象。

我有这个我不喜欢的代码:

    var dataInPhone = [NSManagedObject]()    // Here is data to update
    var index = 0
    for album in self.dataInPhone {
        if album.objectID == anObject.objectID {   // anObject 
            break
        }else{
            index += 1
        }
    }
    dataInPhone[index] = anObject as! NSManagedObject

有没有办法做得更好?

1 个答案:

答案 0 :(得分:0)

有一个方法indexOf,它还支持一个闭包作为参数

var dataInPhone = [NSManagedObject]()    // Here is data to update
...
if let index = dataInPhone.indexOf({$0.objectID == anObject.objectID}) {
  dataInPhone[index] = anObject as! NSManagedObject
}