- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 RestKit 关系映射示例,但无法理解这些方法调用的目的是什么,或者调用中是否存在拼写错误。他们指的是什么?对象加载器何时会在这些关键路径处遇到内容?
[objectManager.mappingProvider setMapping:userMapping forKeyPath:@"user"];
[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@"task"];
[objectManager.mappingProvider setMapping:projectMapping forKeyPath:@"project"];
作为数据加载的 JSON 文件 有 3 个对象:项目、任务 和用户。请注意,tasks 是复数。
核心数据模型中定义了 3 个实体:用户、任务和项目。这些以大写字母开头。
最后,从数据模型派生的 NSManagedObject 类 具有以下关系:Task>assignedUser 和 User>tasks 和 Project 是一个常规的 NSObject
@"task"应该是@"tasks"吗?
@implementation RKRelationshipMappingExample
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:gRKCatalogBaseURL];
objectManager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"RKRelationshipMappingExample.sqlite"];
RKManagedObjectMapping* taskMapping = [RKManagedObjectMapping mappingForClass:[Task class]];
[taskMapping mapKeyPath:@"id" toAttribute:@"taskID"];
[taskMapping mapKeyPath:@"name" toAttribute:@"name"];
[taskMapping mapKeyPath:@"assigned_user_id" toAttribute:@"assignedUserID"];
taskMapping.primaryKeyAttribute = @"taskID"; //uniquely identifies the record for update purposes
RKManagedObjectMapping* userMapping = [RKManagedObjectMapping mappingForClass:[User class]];
[userMapping mapAttributes:@"name", @"email", nil];
[userMapping mapKeyPath:@"id" toAttribute:@"userID"];
userMapping.primaryKeyAttribute = @"userID";
[objectManager.mappingProvider setMapping:userMapping forKeyPath:@"user"];
[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@"task"];
[userMapping mapRelationship:@"tasks" withMapping:taskMapping];
[taskMapping mapRelationship:@"assignedUser" withMapping:userMapping];
[taskMapping connectRelationship:@"assignedUser" withObjectForPrimaryKeyAttribute:@"assignedUserID"];
// NOTE - Project is not backed by Core Data
RKObjectMapping* projectMapping = [RKObjectMapping mappingForClass:[Project class]];
[projectMapping mapKeyPath:@"id" toAttribute:@"projectID"];
[projectMapping mapAttributes:@"name", @"description", nil];
[projectMapping mapRelationship:@"user" withMapping:userMapping];
[projectMapping mapRelationship:@"tasks" withMapping:taskMapping];
[objectManager.mappingProvider setMapping:projectMapping forKeyPath:@"project"];
}
return self;
}
//more code
@end
感谢您的澄清!
最佳答案
RKObjectMappingProvider setMapping:forKeyPath:
方法指示映射提供程序在遇到给定键路径中的数据时使用哪个对象映射。对于示例及其关联的 JSON 数据,没有 task
键路径的实际实例——因此在这个特定示例中,[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@"task"]
语句不是必须的;在另一种情况下,你很可能有类似的东西
"task":{"id":10,"name":"Some task", "assigned_user_id":5}
在这种情况下,它将是必需的。由于 [projectMapping mapRelationship:@"tasks"withMapping:taskMapping]
,JSON 流中的实际任务被映射。
您可以使用 RKLogConfigureByName()
来检查 RestKit 正在做什么——非常有用。 RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace)
在这种情况下将为您提供映射逻辑的“逐条”。
关于iphone - iOS RestKit [mappingProvider setMapping :forKeyPath:] method? 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603758/
感觉理解了很多,但又卡在了新项目上.. 我正在尝试从使用 Google Map API 创建的 map 中删除标记。 我在信息窗口中有一个删除标记按钮。 下面是我的代码: function Delet
我正在为 Google map 编写自定义叠加层。我有很多经纬度点,我想要带有指向和来自它们的箭头的图像。我正在关注 Google 的自定义叠加层教程 (https://developers.goog
我想从谷歌地图中删除所有旧标记并添加新标记,但 setMap(null) 不起作用,它会添加新标记而不删除旧标记。请查看我的代码 var markers = data[
我正在处理我的谷歌地图页面在 Firebug 中显示错误的问题。当我在经销商 map 中搜索时,将触发 clearLocations() 函数。但出现此错误:“markers[i].setMap
所以我在这里遇到了一些问题。此脚本在除 IE8 之外的所有浏览器中都可以正常工作 route() 函数被调用 - 并被赋予 Google map 编码的多边形和折线。每次 IE8 尝试执行 setMa
我看到这里的人可能会解释这个功能: // REMOVE All MARKERS FUNCTION // Removes all markers currently on map //
我的 bing map 无法加载信息框。我有一个数组,可以为渲染的位置创建图钉,下面是我使用的代码。我已经添加了用于显示的控制台消息,以检查它是否被正确调用。我想知道偏移/ anchor 是否与不显示
当我使用 sencha touch2.2.1 时,我遇到了一个问题。 在查看器中: items: [{ id: 'mapCanvas', xtype:'map', useCur
我有 OpanLayers 2.10,当我尝试将 OpenLayers.Control.Measure 添加到 map 控件时,出现此错误: TypeError: Object # has no me
我正在尝试从 Google map 中清除之前的路线。但是,当您进行另一次搜索时,上一次搜索的多段线和标记仍然会显示。我试过使用 directionsRenderer.setMap(null),但没有
我正在寻找 Set Java 中的实现,它提供基于元素属性的查找。用 Guava 的术语来思考它可以使用 Function 来构建。 (预计在所有集合元素中都是唯一的)并提供一种方法 find(Sea
当 ZoomIn/ZoomOut 事件触发时,我尝试删除所有圆圈和标记。我像这样插入了 For 循环中的每个标记和圆圈 gmarkers.push(new google.maps.Circle(cir
我是 Google map 新手。我将 Google Maps v3 map 添加到 ASP.NET 4.0 项目的 aspx 文件中,并尝试为 map 上的四个 KML 图层添加切换复选框。 但是,
我正在研究 RestKit 关系映射示例,但无法理解这些方法调用的目的是什么,或者调用中是否存在拼写错误。他们指的是什么?对象加载器何时会在这些关键路径处遇到内容? [objectManager.ma
marker.setMap(null) 调用不会从 map 中删除标记。 我已经确认 map 和标记变量指向正确的位置,但 setMap(null) 调用只是使标记在 map 上可见。 setVisi
当我跨浏览器测试我的站点并在 Safari 中尝试时,我的仪表板中的这个错误不知从何而来。它适用于 Chrome、Firefox 和 IE9,但适用于 Safari: 这是错误,我不知道这是哪里发生的
我是 Google map API v3 的新手。在谷歌地图官方教程中,部分示例代码使用 new google.maps.Marker({ map: map //Map option });
我在谷歌地图上使用了淘汰赛 javascrit,但我无法清除 map 上的标记,我在那里收到错误消息,错误如下 > Ripple :: Environment Warming Up (Tea. Ear
当我尝试在 map 中输入谷歌的系统位置时,它不起作用。屏幕保持空白。当我提出字符串“directionsDisplay.setMap (map);”时, map 会显示但不起作用。为什么 ?我将发布
我试图有一个按钮可以打开和关闭多个圆圈(显示/隐藏可见性)。假设我只有一个 html 按钮,并且我已经向该按钮添加了 google.maps.event.addDomListener,我见过的很多示例
我是一名优秀的程序员,十分优秀!