使用Swift进行核心数据瞬态值

时间:2014-07-14 03:36:20

标签: ios core-data swift

有没有人知道或者有一个例子,如何使用Swift处理核心数据瞬态值?我知道在属性之前使用@NSManaged,但是无法弄清楚如何使用Swift编写逻辑来构建瞬态值。

2 个答案:

答案 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