0

我有一个 iOS 项目,它使用 RestKit 0.21.0 组件负责获取、解析和存储来自远程服务器的核心数据响应。在其中一个后端 JSON 响应中,我有类似的内容:

"response": [
  {
    "id": 1,
    "start_time": "10:00:00",
    "end_time": "14:00:00",
    "name": "Object name"
  },
  .
  .
  .
]

Model.xcdatamodeld 中,我定义了具有字段 startTime 和 endTime 类型的日期的实体。通常,所有对对象的映射 JSON 响应都可以正常工作,但我对 JSON 字段 start_time 和 end_time 有问题。

您有什么建议可以正确地将时间字段映射到可以存储在核心数据(SQLite 数据库)中的数据吗?

4

2 回答 2

1

使用适当的格式创建一个NSDateFormatter来解析您的时间字符串。使用 .添加日期格式化程序[[RKValueTransformer defaultValueTransformer] insertValueTransformer:dateFormatter atIndex:0];NSDate现在 RestKit 将在需要映射到目的地时搜索所有定义的日期格式化程序以及默认格式化程序。

于 2013-10-15T18:28:37.920 回答
1

继承了一个广泛使用 RestKit 的应用程序,现在是 0.21 版本,它很棒。需要在 YYYY-MM-DD HH:MM:SS.SSS 中添加日期到字符串的转换,并按照上面的建议将所需的日期格式化程序添加到索引 0 处的默认复合格式化程序。但是发现对 RKObjectMapping 的调用通过添加 ISO8601 覆盖了这一点为了在 +(void)initialize 中向后兼容,索引 0 处的格式化程序。评论了这些行,我得到了正确的结果。我想这可能是应用程序的结构方式,对 RKObjectMapping 的调用次数不限,如果不更改 RKObjectMapping,就不可能在正确的位置添加日期格式化程序。

于 2013-11-04T13:26:14.777 回答