Ich arbeite an einer Swift App mit Core Data. Ich habe meine *.xcdatamodeld
Datei erstellt und eine NSManagedObject Subclass
(Editor -> Create NSManagedObject Subclass...
) erstellt.Drucken von NSManagedObject subclassed Core Data-Objekt zu Konsole gibt leere Zeile in Swift
Alles funktioniert gut, außer wenn ich versuche, eine instanzierte Objekt dieser Klasse zu println
(lässt es Person
nennen) druckt die Konsole leer oder einfach Optional()
wenn nicht ausgepackt.
Ich habe versucht, DebugPrintable
oder Printable
über die Klassenerweiterung ohne Erfolg hinzuzufügen.
Ist dies eine bekannte Einschränkung von CoreData-Objekten? Was vermisse ich?
Hinzufügen von Code für Klarheit:
/// Person.swift (auto-generated by Xcode)
class Person: NSManagedObject {
@NSManaged var firstname: String
@NSManaged var lastname: String
}
Meine Erweiterung:
/// Person+Helpers.swift
extension Person : Printable, DebugPrintable {
override var description : String {
return "test"
}
override var debugDescription : String {
return "debug test"
}
}
Console druckt leere Zeile, oder im Falle einer Anordnung von Person
Objekte, es gibt einfach [ , , , , ]
Bitte zeigen Sie den Code, wo Sie die Objekte instanziieren. – zisoft
Ich sehe das Gleiche mit Xcode 6.1 (6A1052d). Ich habe einen Kern erstellt, um zu demonstrieren, dass es egal ist, wie ich die Objekte bekomme: https://gist.github.com/bgrace/021f55a9f160685e2433 - Ich würde gerne wissen, ob Printable auf einem NSManagedObject für irgendjemanden funktioniert. – Brett
Ich habe gerade in dieses Problem gerade auch versucht, ein Array von NSManagedObject-Unterklassen in eine Zeichenfolge zu konvertieren, in einem Fehlerbericht zu speichern. Vorerst dies als Behelfslösung mache ich: var string = [Zeichenfolge]() für Unterklasse in arrayOfSubclass { stringArray.append (subclass.name) } Dann stringArray.description mit dem verbunden zu bekommen Saiten. – jlichti