gpt4 book ai didi

ios - 使用 initWithRelationship :attributes: 创建 RKConnectionDescription 时出现异常

转载 作者:行者123 更新时间:2023-11-29 03:12:11 25 4
gpt4 key购买 nike

我在使用 RestKit 时遇到了一个有趣的问题。我希望能够通过 CoreData 中的唯一 ID 来映射我的对象。看起来 RKConnectionDescription 应该允许我这样做。我想在 RegisteredUser 和 BasicModel 对象之间建立连接。问题是,当我创建连接时,我收到一个 NSInternalInconsistencyException 因为 RestKit 说,无法连接关系:为源实体“RegisteredUser”提供的无效属性

下面是我必须为用户创建映射的代码。

RKEntityMapping *userEntityMapping = [RKEntityMapping mappingForEntityForName:@"RegisteredUser" inManagedObjectStore:[RKManagedObjectStore defaultStore]];
[userEntityMapping addAttributeMappingsFromArray:@[@"uniqueID",
@"createdAt",
@"updatedAt",
@"firstName",
@"middleName",
@"lastName",
@"email",
@"gender",
@"dateOfBirth",
@"profileImageUpdatedAt"]];
NSEntityDescription *userEntity = [NSEntityDescription entityForName:@"RegisteredUser" inManagedObjectContext:[RKManagedObjectStore defaultStore].mainQueueManagedObjectContext];
NSRelationshipDescription *basicModelRelationship = [userEntity relationshipsByName][@"basicModel"];
RKConnectionDescription *connection = [[RKConnectionDescription alloc] initWithRelationship:basicModelRelationship attributes:@{@"basicModel": @"uniqueID"}];
[userEntityMapping addConnection:connection];

在核心数据中,RegisteredUser 与名为 basicModelBasicModel 实体具有一对一关系。此外,BasicModel 实体具有 uniqueID 属性。

据我所知,我正在根据示例 here 正确创建 RKConnectionDescription 。问题是,当我调用 initWithRelationship:attributes: 时,它断言 RegisteredUser 实体上有一个 basicModel 属性,这当然是不是。只有 basicModel 关系,所以我遇到了上面描述的崩溃。

如果 RestKit 希望我为关系创建连接,为什么它甚至会检查 RegisteredUser 是否具有属性 basicModel?我在这里错过了什么吗?

最佳答案

使用 RKConnectionDescription 是正确的,但您使用它的方式是错误的。在这一行中:

initWithRelationship:basicModelRelationship attributes:@{@"basicModel": @"uniqueID"}];

您正在告诉 RestKit 有关关系的信息,但它应该使用 RegisteredUser 实体中名为 basicModel 的属性来查找要查找的 BasicModel连接到,将 RegisteredUser 中的 basicModel 值与 BasicModel 中的 uniqueID 进行匹配。

因此,需要更改的是 basicModel。您需要向 RegisteredUser 实体添加一个属性,例如 basicModelId。它可以是短暂的。将其添加到 RegisteredUser 映射中,并在 RKConnectionDescription 中使用 basicModelId

关于ios - 使用 initWithRelationship :attributes: 创建 RKConnectionDescription 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22137742/

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