2016-04-01 21 views
0

ile Swift2 sorunu ben ancak hiçbir şans yaşıyorum SWIFT2 içine benim uygulama için bu koduek hata çağrıda mı? CoreData app

var request = NSFetchRequest(entityName: "ItemModel") 
    var error: NSError? 

    var results : NSArray = managedObjectContext!.executeFetchRequest(request, error: &error)! 

    for res in results 
    { 
     println(res) 
    } 
    self.dismissViewControllerAnimated(true, completion: nil) 

} 

dönüştürmek çalışıyorum. Bu benim onu ​​dönüştürme girişimim.

do { 

     let results = try self.context!.executeFetchRequest(fetchRequest) as! [ItemModel] 

    } catch { 
     fatalError("getItem error: /(fetchError.localizedDescription)") 
    } 

} 

benim Çekirdek Veri adında Öğe Modeli gelen ancak ciddi mücadele ediyorum Verileri Al için kullanabilir çalışıyorum. Yanlış yaptığımı bilen var mı? Yeni kodumla hata alamıyorum ama çalışmıyor.

cevap

1

bu deneyin şimdiden teşekkürler:

func fetchItems() -> [NSManagedObject]? { 

    let managedContext = // your context here 

    let fetchRequest = NSFetchRequest(entityName: "ItemModel") 

    do { 
     let results = try managedContext.executeFetchRequest(fetchRequest) 
     return results as? [NSManagedObject] 
    } catch let error as NSError { 
     print("Could not fetch \(error), \(error.userInfo)") 
    } 
    return nil 
} 

o zaman fonksiyonun sonuçlarından ItemObject dizi birleştirin. Nesneleriniz DB'de ItemObject s olarak saklanmaz, bunlar NSManagedObject s'ye dönüştürülür ve bunları DB'den aldıktan sonra yeniden dönüştürmeniz gerekir. Örneğin

, demek senin ItemObject sınıf şuna benzer:

class ItemObject { 

    var name : String 
    var someData : NSData 
} 

Öyle gibi bu öğeleri yeniden olacaktır:

func convertObjects(objects: [NSManagedObject]) -> [ItemObject] { 

    var itemObjects = [ItemObject]() 

    for object in objects { 

     let itemObject = ItemObject() 

     itemObject.name = object.valueForKey("NAME_KEY") as? String ?? "DEFAULT_VALUE" 
     itemObject.someData = object.valueForKey("DATA_KEY") as? NSData ?? NSData() 

     itemObjects.append(itemObject) 
    } 
    return itemObjects 
} 
+0

teşekkür ederim !! Bu Worksss – Leanneheal