- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 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
与名为 basicModel
的 BasicModel
实体具有一对一关系。此外,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/
我在使用 RestKit 时遇到了一个有趣的问题。我希望能够通过 CoreData 中的唯一 ID 来映射我的对象。看起来 RKConnectionDescription 应该允许我这样做。我想在 R
我是一名优秀的程序员,十分优秀!