0

我有点坚持使用 RestKit 2.0。我在 CoreData 上有一个用户实体,它与 ActionStream-Entity 有关系,ActionStream-Entity 又与 Action-Entities 有关系。

用户有关系 one_to_one ActionsStream ActionsStream 有关系 one_to_many Actions

当我登录用户时,我会得到一些数据和一个令牌,让我可以访问 ActionStream。所以我需要将 Json Reponse 映射到我的 ActionsStream 实体。

// Example Json ActionsStream with 2 Action items
{
   "total_count":2,
   "number_of_pages":2,
   "current_page":1,
   "items":[
      {
         "id":58606,
         "description":"dd "

      },
      {
         "id":58602,
         "description":"dd "

      }
   ]
}

我的 Action & ActionStream 映射很简单,但我会添加它以供参考:

NSDictionary *mappingDict = @{  @"id" : @"id",
                                @"description" : @"description" };


NSDictionary *mappingDict = @{  @"total_count" : @"totalCount",
                                @"number_of_pages" : @"numberOfPages",
                                @"current_page" : @"currentPage"};

我希望按如下方式加载文件。

- (void)loadUserActionss:(User*)user{

RKObjectManager *objectManager = [RKObjectManager sharedManager];

[objectManager addResponseDescriptorsFromArray:@[
                                                 [RKResponseDescriptor responseDescriptorWithMapping:[ActivityStream entityMapping:objectManager.managedObjectStore]
                                                                                              method:RKRequestMethodAny
                                                                                         pathPattern:nil
                                                                                             keyPath:nil
                                                                                         statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]
                                                 ]];

[objectManager getObjectsAtPathForRelationship:@"actionSream"
                                ofObject:user
                                parameters:nil
                                    success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

                                   NSLog(@"Success");

                                }failure:^(RKObjectRequestOperation *operation, NSError *error) {

                                    NSLog(@"Failure");
                                }];

}

我得到的错误如下:
+[RKPathMatcher pathMatcherWithPattern:] 'NSInternalInconsistencyException',原因:'模式字符串不能为空才能执行模式匹配。'

我是 RestKit 的新手,所以任何指导都会有所帮助,包括我是否以正确的方式处理这种情况并且应该使用不同的方法。谢谢你。铝

4

1 回答 1

1

您看到的错误是因为您正在使用该getObjectsAtPathForRelationship方法,但您没有向 RestKit 提供足够的信息来了解如何从服务器请求该信息。您可以通过以下两种方式之一提供信息:

  1. 调用方法时设置路径参数
  2. 创建一个RKRoute描述该关系名称的路由(路径)

您看到的错误 ( 'Pattern string must not be empty in order to perform pattern matching.') 描述了这种信息缺失。

于 2013-10-16T15:29:11.853 回答