我正在尝试使用Restkit将JSON文件映射到我的类。我遇到了问题,如何将嵌套属性映射到类。
startTime& endTime没有正确映射,是否有一种方便的方式来访问它(“start.datetime”不起作用)。我不想创建无用的Start
类,因为我必须访问像event.start.datetime这样的属性。我只想像event.startTime
有没有解决方案?
JSON回复
{
"kind": "calendar#event",
"id": "f8v1p959doracohm5jk49gmbp4",
"created": "2015-10-16T16:52:22.000Z",
"updated": "2015-10-16T16:52:23.114Z",
"summary": "fuck",
"organizer": {
"email": "jaa9s9d3gobhbmovrotujd06h8@group.calendar.google.com",
"displayName": "primary",
"self": true
},
"start": {
"dateTime": "2015-10-11T03:00:00+08:00"
},
"end": {
"dateTime": "2015-10-11T04:00:00+08:00"
},
"sequence": 0,
"reminders": {
"useDefault": true
}
}
班级定义
class SGEvent: NSObject {
var identifier: String!
var title: String!
var createdAt: NSDate?
var updatedAt: NSDate?
var notes: String!
var location: String?
var startTime: NSDate!
var endTime: NSDate!
var allDay: Bool! = false
}
我的代码:
let eventMapping = RKObjectMapping(forClass: SGEvent.self)
eventMapping.addAttributeMappingsFromDictionary([
"id": "identifier",
"created": "createdAt",
"summary": "title",
"location": "location",
"start.datetime": "startTime",
"end.datetime": "endTime"
])
答案 0 :(得分:0)
我已经找到了问题所在。这是访问该属性的正确语法。问题在于Google的日期格式。 2015-10-11T03:00:00+08:00
不是标准日期格式。因此,RestKit的默认变换器无法传输此信息。