【问题标题】:iOS - get objects from RESTful service with RestKitiOS - 使用 RestKit 从 RESTful 服务获取对象
【发布时间】:2014-02-12 16:34:28
【问题描述】:

我正在尝试从我的 RESTful 服务中获取数据。我从一些教程中得到了这段代码,我希望我做对了。我想我只是错过了一些东西。我明白了:

RKObjectManager *manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://www....com"]];

NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel];
manager.managedObjectStore = managedObjectStore;


NSDictionary *parentObjectMapping = @{
                                      @"lat" : @"latitude",
                                      @"long" : @"longitude",
                                      };

RKEntityMapping *cityMapping = [RKEntityMapping mappingForEntityForName:NSStringFromClass([City class]) inManagedObjectStore:managedObjectStore];
[cityMapping addAttributeMappingsFromDictionary:@{
                                                       @"name" : @"name",
                                                       @"country" : @"country",
                                                       @"population" : @"population",
                                                       }];

[cityMapping addAttributeMappingsFromDictionary:parentObjectMapping];

[manager addResponseDescriptorsFromArray:@[[RKResponseDescriptor responseDescriptorWithMapping:cityMapping
                                                                                   pathPattern:nil
                                                                                       keyPath:@"results"
                                                                                   statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]
                                           ]];
[manager getObjectsAtPath:@"/api/autocomplete?q=bos"
               parameters:nil
                  success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)
{
}
                  failure:^(RKObjectRequestOperation *operation, NSError *error)
{
}];

我添加的最后几行是因为我认为我缺少执行之类的内容。现在,当我运行它时,我得到了错误:

Unable to perform mapping: No `managedObjectContext` assigned. 

我该如何解决这个问题?我把其他事情做好了吗?谢谢

【问题讨论】:

    标签: ios rest ios7 restkit restkit-0.20


    【解决方案1】:

    正如错误已经表明的那样:您缺少managedObjectContext。使用[managedObjectStore createManagedObjectContexts];(创建商店本身后的行)添加它

    【讨论】:

    • 然后我得到Cannot create managed object contexts: The persistent store coordinator does not have any persistent stores. This likely means that you forgot to add a persistent store or your attempt to do so failed with an error. 但我不想将它保存到任何持久对象。如果我只想向用户展示它然后忘记它怎么办?
    • 如果你不想保存,为什么要使用 RKEntityMappings?来自文档:RKEntityMapping objects model an object mapping with a Core Data destination entity
    • 看看这个例子,它可能会有所帮助:github.com/RestKit/RestKit/blob/development/Examples/RKTwitter/…
    • 然后我想我必须更改几行,Twitter 示例看起来就像我需要的一切。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 2015-09-06
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多