Iphone iOS RestKit[mappingProvider setMapping:forKeyPath:]方法的用途是什么?
我正在处理RestKit关系映射示例,无法理解这些方法调用的目的是什么,或者调用中是否有输入错误。它们指的是什么?对象加载器何时会在这些关键路径上遇到内容Iphone iOS RestKit[mappingProvider setMapping:forKeyPath:]方法的用途是什么?,iphone,objective-c,ios,restkit,Iphone,Objective C,Ios,Restkit,我正在处理RestKit关系映射示例,无法理解这些方法调用的目的是什么,或者调用中是否有输入错误。它们指的是什么?对象加载器何时会在这些关键路径上遇到内容 [objectManager.mappingProvider setMapping:userMapping forKeyPath:@"user"]; [objectManager.mappingProvider setMapping:taskMapping forKeyPath:@"task"]; [objectManager.mapping
[objectManager.mappingProvider setMapping:userMapping forKeyPath:@"user"];
[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@"task"];
[objectManager.mappingProvider setMapping:projectMapping forKeyPath:@"project"];
作为数据加载的JSON文件有3个对象:项目、任务和用户。请注意,任务是复数的
核心数据模型中定义了3个实体:用户、任务和项目。这些以大写字母开头
最后,从数据模型派生的NSManagedObject类具有以下关系:Task>assignedUser和User>tasks和Project是常规NSObject
"任务"应该是"任务"吗?
谢谢你的澄清 RKObjectMappingProvider setMapping:forKeyPath:方法指示映射提供程序在遇到给定键路径上的数据时使用哪个对象映射。对于示例及其关联的JSON数据,没有实际的
任务
关键路径实例——因此在这个特定示例中,不需要[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@“task”]
语句;在另一种情况下,你很可能会
"task":{"id":10,"name":"Some task", "assigned_user_id":5}
在这种情况下,这是必需的。JSON流中的实际任务被映射是因为[projectMapping mapRelationship:@“tasks”with mapping:taskMapping]
您可以使用
RKLogConfigureByName()
检查RestKit正在做什么,这非常有用RKLogConfigureByName(“RestKit/ObjectMapping”,RKLogLevelTrace)
在这种情况下,将提供映射逻辑的“一次又一次”操作。RklogMappingProvider setMapping:forKeyPath:方法指示映射提供程序在遇到给定密钥路径上的数据时使用哪个对象映射。对于示例及其关联的JSON数据,没有实际的任务
关键路径实例——因此在这个特定示例中,不需要[objectManager.mappingProvider setMapping:taskMapping forKeyPath:@“task”]
语句;在另一种情况下,你很可能会
"task":{"id":10,"name":"Some task", "assigned_user_id":5}
在这种情况下,这是必需的。JSON流中的实际任务被映射是因为[projectMapping mapRelationship:@“tasks”with mapping:taskMapping]
您可以使用RKLogConfigureByName()
检查RestKit正在做什么,这非常有用RKLogConfigureByName(“RestKit/ObjectMapping”,RKLogLevelTrace)
在这种情况下,将提供映射逻辑的“一次又一次的冲击”