Swift kann aufgrund des strikten Typsystems keine dynamischen Laufzeitaccessoren generieren. Sie können eine Erweiterung Disease
Klasse erstellen und verpasste Methoden manuell hinzufügen, hier ist der Code:
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)
}
}
Bemerkungen:
ich Sie vorschlagen, für die Erweiterung Disease+CoreData.swift
separate Datei zu erstellen, Dies sollte halten helfen Ihr Code wird überschrieben, wenn Sie das Modell CoreData
neu generieren.
Es reicht aus, eine Beziehung in einem der verwalteten Objekte zu erstellen, die zweite wird mit der Rückreferenz aktualisiert. (Das gleiche wie war mit Objective-C)
Wichtig: Um es alle arbeiten Sie, dass Klassennamen von Entitäten in Ihnen überprüfen sollen Coredata-Modell Ihre Modulnamen enthalten. Z.B. MyProjectName.Disease
Antwort inspiriert von: Setting an NSManagedObject relationship in Swift
weitere Informationen http://stackoverflow.com/questions/24146524/setting-an-nsmanagedobject-relationship-in-swift – DogCoffee
Für andere, die diese Frage zu finden, weil sie lernen wollen, wie die Beziehungen zu verwenden, in Core Data , fand ich schließlich dieses Tutorial: [Core Data and Swift: Beziehungen und mehr Abrufen] (http://code.utsplus.com/tutorials/core-data-and-swift-relationships-and-more-fetching-cms-- 25070) – Wraithbone