在createOrUpdateInDefaultRealmWithObject中将ISO 8601字符串转换为日期

时间:2015-03-13 18:05:34

标签: ios json swift realm

我有一个从REST API返回的JSON块,格式如下:

[
  { 
    id: 1,
    locations: [
      {
        arriveAt: "2015-03-14T16:05:16Z"
      },
      {
        arriveAt: null
    ]
  },
  ...
]

然后我在我的项目中有这样的代码:

let trips = json as [NSDictionary]
let realm = RLMRealm.defaultRealm()
realm.beginWriteTransaction()
for trip in trips {
  Trip.createOrUpdateInDefaultRealmWithObject(trip)
}
realm.commitWriteTransaction()

在我的Location类中,有一个var dynamic var arriveAt: NSDate?。我还使用fromISO8601String方法扩展了NSDate,该方法初始化NSDate将ISO 8601字符串转换为日期。

有没有一种方法,当Realm尝试创建Location对象时,它会自动从JSON通过NSDate.fromISO8601String运行字符串?

1 个答案:

答案 0 :(得分:0)

嗨,Dave还没有任何内置于Realm中的东西可以为你做到这一点。您需要使用Realm-JSON或Mantle等变换器