gpt4 book ai didi

cocoa - 如何在RestKit 0.20中实现 `hasOne:withMapping:`?

转载 作者:行者123 更新时间:2023-12-03 17:12:19 24 4
gpt4 key购买 nike

我有一个用于此类项目的 JSON 数据结构

{
"id": "8a1a39479d03d959",
"sortOrder": 3,
"timestamp": 1381669499.11,
}

以及另一个只有一个项目的文件结构:

{
"id": "d88e3c3d1630db4c",
"item": "8a1a39479d03d959",
"timestamp": 1381669505.364,
"version": 2
}

我一直在努力让这种映射发挥作用,以至于我将 [files] 列表添加到项目 JSON 只是为了映射关系。然而,阅读较旧的post on the Google group ,我看到据说以前可以像这样映射这些关系(未经测试的代码,只是解释上面的链接):

RKManagedObjectMapping *itemMapping = [RKManagedObjectMapping mappingForClass:[Item class]];
itemMapping.primaryKeyAttribute = @"itemID";
[itemMapping mapKeyPath:@"sortOrder" toAttribute:@"sortOrder"];
[itemMapping mapKeyPath:@"id" toAttribute:@"itemID"];

RKManagedObjectMapping *fileMapping = [RKManagedObjectMapping mappingForClass:[File class]];
fileMapping.primaryKeyAttribute = @"fileID";
[fileMapping mapKeyPath:@"id" toAttribute:@"fileID"];
[fileMapping mapKeyPath:@"item" toAttribute:@"itemID"];
[fileMapping mapKeyPath:@"version" toAttribute:@"version"];

[fileMapping hasOne:@"item" withMapping:itemMapping];
[fileMapping connectRelationship:@"organization" withObjectForPrimaryKeyAttribute:@"itemID"];

但是 hasOne:withMapping: 在 RestKit 0.20 中不再存在。如今,将一对多关系与作为 JSON 中的简单字符串返回的 id 进行映射的正确方法是什么?仅供引用,我在这个项目中使用了 CoreData 集成。

最佳答案

好的,您的映射将项目标识设置为 identifier。在文件中,这与任何内容对应 - 它需要对应。添加 transient 属性并将 item 映射到它(我们将其称为 itemIdentifier)。现在,您可以设置关系映射来填充核心数据关系(应该是双向的,我假设 item <<-> files):

[fileMapping addConnectionForRelationship:@"item" connectedBy:@{ @"itemIdentifier": @"identifier" }];

关于cocoa - 如何在RestKit 0.20中实现 `hasOne:withMapping:`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505948/

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