【发布时间】:2014-12-23 08:03:42
【问题描述】:
我正在使用 Core Data 开发一个 Swift 应用程序。我创建了我的*.xcdatamodeld 文件并创建了一个NSManagedObject Subclass (Editor -> Create NSManagedObject Subclass...)。
一切正常,除非我尝试println 该类的实例化对象(我们称之为Person)控制台打印空白或简单地打印Optional()(如果未解包)。
我尝试通过类扩展添加DebugPrintable 或Printable,但没有成功。
这是 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对象数组的情况下,它只是打印[ , , , , ]
【问题讨论】:
-
请显示实例化对象的代码。
-
我在 Xcode 6.1 (6A1052d) 上看到了同样的情况。我创建了一个要点来证明我如何获取对象并不重要:gist.github.com/bgrace/021f55a9f160685e2433 — 我很想知道 NSManagedObject 上的 Printable 是否适用于任何人。
-
我刚刚也遇到了这个问题,试图将 NSManagedObject 子类的数组转换为字符串以保存在错误报告中。现在我这样做是一种解决方法: var stringArray = [String]() for subclass in arrayOfSubclass { stringArray.append(subclass.name) } 然后使用 stringArray.description 来获取连接的字符串。
-
如何初始化 Core Data?你在使用视图控制器容器吗?
-
我也遇到过同样的问题,虽然它不是空白 - 打印为空白..
标签: ios xcode core-data swift println