Restkit 0.20 JSON映射以及其他脱机数据

时间:2014-01-27 18:33:24

标签: ios objective-c restkit restkit-0.20

所以,假设我有一个像这样的JSON对象:

{
  "userList" : [
    {
      "ID" : 1,
      "firstName" : "John",
      "lastName" : "Doe"
    },
    {
      "ID" : 2,
      "firstName" : "Jane",
      "lastName" : "Doe"
    }
  ]
}

我可以将此对象映射到具有以下属性的user类:

ID,
firstName,
lastName,
createdDate,
modifiedData

当我需要更新modified date时出现问题我希望能够在进行映射时插入数据时间戳以及在离线模式下修改数据时。

所以我的问题是,如何将JSON对象映射到Core Data,同时还插入一些JSON对象中不存在的数据。这甚至可能吗?

=====

我的映射功能,如果它有帮助:

+ (RKObjectMapping *)mapping {
    // Create a singleton instance of the mapping object.
    __strong static RKEntityMapping *_mapping = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        RKManagedObjectStore *store = [[RKObjectManager sharedManager] managedObjectStore];
        _mapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([self class]) inManagedObjectStore:store];

        // Map attributes with the same name in the JSON and the model.
        [_mapping addAttributeMappingsFromDictionary:@{@"ID": @"ID",
                                                       @"firstName" : @"firstName",
                                                       @"lastName" : @"lastName"}];

        // Set primaryKeyAttribute
        _mapping.identificationAttributes = @[@"ID"];
    });
    return _mapping;
}

1 个答案:

答案 0 :(得分:0)

处理RestKit外部,但是以RestKit(以及任何其他更改)触发的方式处理:

覆盖托管对象子类上的willSave并在调用时更新修改日期(设置原始值以避免递归)。