RestKit - 对象映射功能无法找到

问题描述:

我天真地想跟着guidelines与RestKit 0.20RestKit - 对象映射功能无法找到

#import <RestKit/RestKit.h> 
... 
RKObjectMapping *mymap = 
    [RKObjectMapping mappingForClass: NSClassFromString(@"MY_CLASS")]; 
[mymap mapAttributes:@"field1", @"field2", nil]; 

为“RKObjectMapping无可见@interface映射我CoreData类之一'声明选择器'mapAttribute'

如果我输入[mymap map,我只能看到这两个函数在co mpletion list

id mappingForDestinationKeyPath:(NSString *) 
id mappingForSourceKeyPath:(NSString *) 

我在做什么错?


的另一个例子,当我尝试使用共享RKObjectManager

[[RKObjectManager sharedManager].mappingProvider setMapping:map forKeyPath:@"/"]; 

它找不到成员mappingProvider

我认为这是与Wiki页面,​​问题在RKObjectMapping文档中找不到(http://restkit.org/api/master/Classes/RKObjectMapping.html)。我认为维基页面已经过时了,用这个来代替:https://github.com/RestKit/RestKit/wiki/Object-Mapping

您应该使用addAttributeMappingsFromDictionary方法代替:

[mymapp addAttributeMappingsFromDictionary:@{@"field1" : @"field1"}]; 

而且mappingProvider是从前期0.20休息套件,并且已被替换响应描述符(物体,其被用于确定一种用于响应使用的映射)

RKResponseDescriptor *descriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping pathPattern:nil keyPath:@"key_path" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

[[RKObjectManager sharedManager] addResponseDescriptor:descriptor]; 
+0

很好,谢谢! –

使用映射是这样的:

RKManagedObjectMapping * mymap = [RKManagedObjectMapping mappingForClass:[MY_CLASS class] inManagedObjectStore:self.objectStore]; 

    mymap.setDefaultValueForMissingAttributes = YES; 
    mymap.primaryKeyAttribute = @"MY_CLASS_ID"; 
    mymap.rootKeyPath = @"ROOT_PATH_OF_SERVICE"; 
    [mymap mapKeyPathsToAttributes: 
    @"WEB_SERVICE_ATTRIBUTE1", @"DATA_MODAL_ATTRIBUTE1", 
    @"WEB_SERVICE_ATTRIBUTE2", @"DATA_MODAL_ATTRIBUTE2", 
    @"WEB_SERVICE_ATTRIBUTE3", @"DATA_MODAL_ATTRIBUTE3", 
    nil]; 
+0

'RKManagedObjectMapping'似乎也没有。 –

+0

您是否在.h文件中导入RestKit #import Khawar

+0

是的,它是从我的'.h'文件导入的。 –