【发布时间】:2018-08-20 00:03:34
【问题描述】:
Realm 不支持将DateInterval 存储到数据库中。目前,我们的团队执行以下操作:
private let _intervalBegins = List<Date>()
private let _intervalEnds = List<Date>()
var dateIntervals: [DateInterval] {
get {
var intervals = [DateInterval]()
for (i, startDate) in _intervalBegins.enumerated() {
let endDate = _intervalEnds[i]
intervals.append(DateInterval(start: startDate, end: endDate))
}
return intervals
}
set {
_intervalBegins.removeAll()
_intervalBegins.append(objectsIn: newValue.compactMap{ $0.start })
_intervalEnds.removeAll()
_intervalEnds.append(objectsIn: newValue.compactMap{ $0.end })
}
}
有没有更“正确”的方法来做到这一点?也许将 start 和 end 日期都存储到一个属性/数据库列中?并直接获取这些值,而无需像我们现在所做的那样使用另一个变量“解析”它们。
谢谢!
【问题讨论】:
标签: swift realm dateinterval