Leider macht mich die neue Core Data Semantik verrückt. Meine vorherige Frage hatte einen sauberen Code, der wegen falscher automatischer Generierung von Header-Dateien nicht funktionierte. Jetzt setze ich meine Arbeit mit dem Löschen von Objekten fort. Mein Code scheint sehr einfach zu sein:Swift 3 Core Data Delete Objekt
func deleteProfile(withID: Int) {
let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest()
fetchRequest.predicate = Predicate.init(format: "profileID==\(withID)")
let object = try! context.fetch(fetchRequest)
context.delete(object)
}
Ich habe eine „harte“ debug mit print(object)
statt context.delete(object)
und es zeigte mir das richtige Objekt. Also muss ich es nur löschen.
P.S. Es gibt keine deleteObject
. Jetzt NSManagedContext hat nur public func delete(_ sender: AnyObject?)
Es sei denn, die Dinge in Swift 3 (Entschuldigungen, wenn sie) geändert haben, die Abruf wird ein Array von Objekten, auch wenn es nur eine ist, dass Ihre Spiele Prädikat. Sie müssen entweder die Ergebnisse durchlaufen (am sichersten) oder mit 'object [0]' auf das erste Objekt im Array zugreifen. – pbasdf