Ios RestKit-在分页器路径中使用冒号崩溃
我正在使用RKPaginator从以下URL获取对象: 我正在设置路径,如下所示:Ios RestKit-在分页器路径中使用冒号崩溃,ios,restkit,restkit-0.20,Ios,Restkit,Restkit 0.20,我正在使用RKPaginator从以下URL获取对象: 我正在设置路径,如下所示: NSString*urlPAth = [NSString stringWithFormat:@"http://devSite.com/api/products?pid=%@&fl=p7:9&limit=:perPage&offset=:offset", pid]; 但它确实给出了一个错误和崩溃: *由于未捕获异常而终止应用程序 “NSUnknownKeyException”,原因:'[
NSString*urlPAth = [NSString stringWithFormat:@"http://devSite.com/api/products?pid=%@&fl=p7:9&limit=:perPage&offset=:offset", pid];
但它确实给出了一个错误和崩溃:
*由于未捕获异常而终止应用程序
“NSUnknownKeyException”,原因:'[
valueForUndefinedKey::此类不符合键值编码
为了钥匙9
我知道这是因为冒号,但无法找到任何解决方案来解决此问题。在使用注入参数时,不能在路径中使用:因为它将被视为参数。如果需要使用:则可能需要将冒号编码为%3A,或者需要将该值作为参数注入的一部分或在参数注入之后注入,这可能需要您对分页器进行子类化。在我的情况下,URL具有以下方案: …元素/文件公司文件:1502328/结构 这意味着在我的情况下:从元素与关键文档公司:150。。得到它的结构。 这不适用于restkit中的RKPaginator类 但如果可以编辑本地源,请将其添加到RKPaginator或将其子类化:
-(id)valueForUndefinedKey:(NSString *)key {
return [NSString stringWithFormat:@":%@",key];
}
这将忽略分页类中URL中的所有未知参数,对我来说效果很好 在Restkit 0.26中,使用%3A对冒号进行编码将不起作用。即使像在SocKit中提到的那样用“/:”逃逸冒号,也不起作用。