我对RestKit 2.0有点困惑。 我在CoreData上有一个User-Entity,它与ActionStream-Entity有关系 再次与行动实体建立关系。
用户关系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 "
}
]
}
我的行动& 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的新手,所以任何指导都会有所帮助,包括我是否以正确的方式处理这种情况并且应该使用不同的方法。 谢谢。 人
答案 0 :(得分:1)
您看到的错误是因为您使用的是getObjectsAtPathForRelationship
方法,但是您没有给RestKit足够的信息来了解如何从服务器请求该信息。您可以通过以下两种方式之一提供信息:
RKRoute
,其中描述了该关系名称的路径(路径)您看到的错误('Pattern string must not be empty in order to perform pattern matching.'
)描述了这种缺乏信息。