RestKit - 在Paginator Path崩溃中使用冒号

时间:2014-03-03 18:26:36

标签: ios restkit restkit-0.20

我正在使用RKPaginator从以下网址获取对象:

http://devSite.com/api/products?pid=somePid&fl=p7:9&limit=5&offset=0

我按如下方式设置路径:

NSString*urlPAth = [NSString stringWithFormat:@"http://devSite.com/api/products?pid=%@&fl=p7:9&limit=:perPage&offset=:offset", pid];

但它确实会出错并崩溃:

  

* 由于未捕获的异常而终止应用   'NSUnknownKeyException',原因:'[   valueForUndefinedKey:]:此类不符合键值编码   关键9。

我知道这是因为冒号,但无法解决任何问题。

2 个答案:

答案 0 :(得分:0)

当您使用注入参数时,不能在路径中使用:因为它将被视为参数。如果你需要使用:那么你需要对冒号进行编码(可能是%3A),或者你需要在参数注入的一部分(或之后)注入该值(这可能需要你对paginator进行子类化) )。

答案 1 :(得分:0)

在我的情况下,URL有这个方案:

  

..元素/ DOCCOMPANY_FILE:1502328 /结构

这意味着在我的情况下:“从带有键的元素”DOCCompany:150 ..“获取它的结构。 这不适用于restkit中的RKPaginator类。

但是如果您可以编辑本地资源,请将其添加到RKPaginator或将其子类化:

-(id)valueForUndefinedKey:(NSString *)key {
return [NSString stringWithFormat:@":%@",key];
}

这将忽略分页类中URL中的所有未知参数,对我来说效果很好。