I am trying to find and update object in array of NSManagedObjects.
I have this code that I dislike:
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
Is any way to do it better?
There is a method indexOf
which supports also a closure as argument
var dataInPhone = [NSManagedObject]() // Here is data to update
...
if let index = dataInPhone.indexOf({$0.objectID == anObject.objectID}) {
dataInPhone[index] = anObject as! NSManagedObject
}