Кто-нибудь знает или имеет пример того, как обрабатывать значения переходных данных ядра с помощью Swift? Я знаю, чтобы использовать @NSManaged перед свойствами, но не могу понять, как закодировать логику для построения переходных значений с помощью Swift.
Значения переходных данных ядра с Swift
Ответ 1
Отметьте поле переходное в вашей модели данных для определенного атрибута (например, 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
}
}
Update-Swift4
Используйте тег @objc
для Swift 4 как:
@objc var sectionTitle: String? {
return time!.getTimeStrWithDayPrecision()
}
Ответ 2
Мы должны использовать willAccessValueForKey и didAccessValueForKey для поддержки KVO