将NSManagedObject子类Core数据对象打印到控制台,在Swift中返回空行

我正在使用Core Data的Swift应用程序。 我创build了我的*.xcdatamodeld文件并创build了NSManagedObject SubclassEditor -> Create NSManagedObject Subclass... )。

一切工作正常,除非当我试图打印该类的实例化对象(让我们称之为Person )控制台打印空白或简单地Optional()如果不解开。

我试图通过类扩展添加DebugPrintablePrintable ,但没有成功。

这是CoreData对象的已知限制吗? 我错过了什么?

为了清晰起见添加代码

 /// Person.swift (auto-generated by Xcode) class Person: NSManagedObject { @NSManaged var firstname: String @NSManaged var lastname: String } 

我的扩展:

 /// Person+Helpers.swift extension Person : Printable, DebugPrintable { override var description : String { return "test" } override var debugDescription : String { return "debug test" } } 

控制台打印空行,或者在Person对象数组的情况下,它只是打印[ , , , , ] ,,, [ , , , , ]

你可以使用这个:

 NSLog("My managed object: %@", managedObject) 

出于某种原因,它不会使用println输出,但NSLog工作得很好。