有没有人知道或者有一个例子,如何使用Swift处理核心数据瞬态值?我知道在属性之前使用@NSManaged,但是无法弄清楚如何使用Swift编写逻辑来构建瞬态值。
答案 0 :(得分:12)
勾选数据模型中的瞬态字段以查找特定属性(例如sectionTitle
)。
为该实体创建类,它看起来像
class Message: NSManagedObject {
@NSManaged var body: String?
@NSManaged var time: NSDate?
@NSManaged var sectionTitle: String?
}
编辑它并使其像这样:
class Message: NSManagedObject {
@NSManaged var body: String?
@NSManaged var time: NSDate?
var sectionTitle: String? {
return time!.getTimeStrWithDayPrecision()
//'getTimeStrWithDayPrecision' will convert timestamp to day
//just for e.g.
//you can do anything here as computational properties
}
}
更新 - Swift4
将Swift 4的@objc
标记用作:
@objc var sectionTitle: String? {
return time!.getTimeStrWithDayPrecision()
}
答案 1 :(得分:1)
我们应该使用willAccessValueForKey和didAccessValueForKey来支持KVO