2016-04-14 21 views
0

dizisinde kimliği olan nesneyi bulmak Daha iyi NSManagedObjects dizisinde nesne bulmaya ve güncelleştirmeye çalışıyorum.NSManagedObject

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 

bunu daha iyi yapmak için herhangi bir yolu var mı:

ben sevmediğim bu kod var?

cevap

0

argüman `AnyObject` yüzden olarak` kullanmak gerekir gibi anObject ilan ettiler

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

olarak da bir kapatma destekleyen bir yöntem indexOf var! NSManagedObject', ama istediğim bu. Çok teşekkür ederim. –

+0

anObject, yalnızca işlev üstbilgisinde "didChangeObject anObject: AnyObject" şeklinde bildirilmişse de, aksi halde çekirdek verilerden "fetchedResultsController.fetchedObjects" öğesinin bir öğesidir –

+0

Swift, "AnyObject" öğesini mümkün olan en kısa zamanda doğru türlere dönüştürmeyi önerir. Örneğin, fetchedResultsController .fetchedObjects olarak! [NSManagedObject] ' – vadian

İlgili konular