gpt4 book ai didi

ios - 从 RestKit 中的 json 中的兄弟节点映射对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:11 26 4
gpt4 key购买 nike

JSON

{
"entity": {
"id": 1,
"name": "name"
},
"settings": {
"key": "value"
}
}

实体模型

属性:id、name

关系:设置(一对一)

设置模型

属性:键

关系:实体(反向关系,一对一)

实体映射

RKEntityMapping *mapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([self class]) inManagedObjectStore:[RKManagedObjectStore defaultStore]];
mapping.persistentStore = [RKManagedObjectStore defaultStore].persistentStoreCoordinator.persistentStores.firstObject;

mapping.identificationAttributes = @[@"id"];
[mapping addAttributeMappingsFromDictionary:@{
@"id" : @"id",
@"name" : @"name"
}];

如果设置在 json 响应中的实体内部,我会添加这个

[mapping addPropertyMapping:
[RKRelationshipMapping relationshipMappingFromKeyPath:@"settings"
toKeyPath:@"settings" withMapping:[Settings map]]
];

但是我的response id和这个不一样,那我应该怎么映射才正确呢?

最佳答案

entitysettings 都在容器字典中,因此您可以将响应描述符更改为到目前为止不向下钻取,然后使用关键路径向下钻取 entity 部分并可以直接访问 settings 部分:

[mapping addAttributeMappingsFromDictionary:@{
@"entity.id" : @"id",
@"entity.name" : @"name"
}];

[mapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"settings" toKeyPath:@"settings" withMapping:[Settings map]]];

关于ios - 从 RestKit 中的 json 中的兄弟节点映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com