我通常会创建命名路线。 Reskit路由器提供了许多不同的帮助器方法,可以通过多种方式简化任务。创建一个名为像这样的路线,
#define ProductsRoute @"ProductsRoute"
RKRoute *productsRoute = [RKRoute routeWithName:ProductsRoute pathPattern:@"/products?page=:page&perPage=:perPage" method:RKRequestMethodGET];
添加到routeSet路线,
[[[RKObjectManager sharedManager].router routeSet] addRoute:productsRoute];
现在,让我们创建一个辅助方法,如果涉及到某些命名的路线,将取消该请求的路径,
- (void)cancelRequestToUrlWithRouteName:(NSString*)routeName{
RKRoute *route = [[[[RKObjectManager sharedManager] router] routeSet] routeForName:routeName];
[self cancelAllRequestWithMethod:route.method matchingPath:route.pathPattern];
}
然后调用它,每当你想取消请求某些URL,
[self cancelRequestToUrlWithRouteName:ProductsRoute];
我希望这也适用于你的情况。 注意我没有显示添加responseManager到objectManager。正如你一直使用的那样,你会添加正常的响应描述符和paginator映射。
您是否尝试过使用URL查询中的参数? SoKit通常不会处理查询部分中的任何参数。 – Wain
@欢雅我不太清楚如何将这个应用于我的案例。有没有办法通配我的取消,这样它将取消对/产品的呼叫,但不会有其他可能未完成的呼叫? –
路径模式通常是通配符,但我认为它不会与查询参数一起使用。 – Wain