Swift non può generare accessori di runtime dinamici a causa di un sistema di tipo rigoroso. È possibile creare una proroga per Disease
classe e aggiungere metodi perse manualmente, ecco il codice:
extension Disease {
func addDogBreedObject(value:DogBreed) {
var items = self.mutableSetValueForKey("dogBreed");
items.addObject(value)
}
func removeDogBreedObject(value:DogBreed) {
var items = self.mutableSetValueForKey("dogBreed");
items.removeObject(value)
}
}
Osservazioni:
vi consiglio di creare file separato per l'estensione Disease+CoreData.swift
, Questo dovrebbe aiutare a mantenere il codice da sovrascrivere quando si ricrea il modello CoreData
.
È sufficiente creare una relazione in uno degli oggetti gestiti, la seconda verrà aggiornata con riferimento all'indietro. (Come è stato con Objective-C)
Importante: Per far funzionare il tutto è necessario verificare che i nomi delle classi di entità in te modello CoreData include il nome del modulo. Per esempio. MyProjectName.Disease
Risposta ispirato: Setting an NSManagedObject relationship in Swift
maggiori informazioni http://stackoverflow.com/questions/24146524/setting-an-nsmanagedobject-relationship-in-swift – DogCoffee
Per gli altri che trovano questa domanda perché vogliono imparare ad utilizzare le relazioni in Core Data , ho finalmente trovato questo tutorial: [Core Data and Swift: Relationships and More Fetching] (http://code.tutsplus.com/tutorials/core-data-and-swift-relationships-and-more-fetching--cms- 25070) – Wraithbone