我通常會創建命名路線。 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