2016-04-18 13 views
30

CoreData'da birçok ilişkiyi öğrenmek için küçük bir uygulama oluşturuyorum. Bir hata benim varlık sınıfı ('Groepering') benim NSFetchResult gelen döküm almak aşağıda Ancak kodu kullanarak:'NSPersistentStoreResult' ilişkisiz türden 'Varlık' için döküm her zaman başarısız olur

enter image description here

benim projeye göre internet üzerinde bulunan örneklerden herhangi bir fark görmüyorum, cast hala neden başarısız? NSManagedObjectContext arasında

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
let managedContext = appDelegate.managedObjectContext 

let fetchRequest : NSFetchRequest = NSFetchRequest(entityName: "Entity") 

    do { 
     let fetchResults = try managedContext.executeRequest(fetchRequest) 
     let groeperingen = fetchResults as! [Entity] 
     // Here I get the Error:^

    } catch { 
     print("Error") 
} 
+4

Sadece bir yazım hatası: "managedContext.executeFetchRequest (fetchRequest)" – vadian

cevap

77

kullanımlar executeFetchRequest yöntem NSFetchRequest gerçekleştirilirken.

Düzenleme Swift 3: Swift 3 için kullanın:

let result = try managedContext.fetch(fetchRequest) 
+0

Teşekkürler! Binlerce kez okuduktan sonra hala bakmaya devam ettim ve kafamda doğru okuyordum. – Emptyless

+2

Swift 3'te bu komut, 'NSManagedObjectContext.fetch (NSFetchRequest ) ' [Apple Docs Link'e bağlanma] olarak değiştirildi (https://developer.apple.com/reference/coredata/nsmanagedobjectcontext/1506672-fetch) – Peter

+0

'aramasına izin verdim sonucu = try managedContext.execute (fetchRequest)' ve yanlış yöntem yazım hatası bulmak için birkaç saat harcayacağım –

14

Geçenlerde olmasa bir yazım hatası nedeniyle, Swift 3 için kodumu dönüştürülür ve bu aynı hataya rastladım. Yeni, eşdeğer işlev çağrısı let fetchResults = try managedContext.fetch(fetchRequest).

+3

NSmanagedobject'inize nasıl atılıyorsunuz? –

+2

Bu, Swift 3'te benim için çalıştı. Ayrıca bir manageObjectContext.execute (istek) yöntemi de var, ancak yukarıdakiyle aynı sorunları üretiyor. – josephap

+1

@PabloMartinez 'let fetchResults = try managedContext.fetch (fetchRequest) 'yi kullanarak sonuçları yayınlıyorum! [MySubclass] '. – blwinters