2013-02-07 20 views
3

我如何可以使用「RKPaginator」與自定義頁面「參數,它採用的模式是這樣的分頁:RKPaginator PARAMS

‘’頁放慢參數我的API不提供?」 http://my.domain.com/api/lists/?limit=5&offset=10

「偏移」是下一個頁面帕拉姆

的JSON申報表我的API是這樣的:

"meta": { 
    "next": "/api/lists/?limit=5&offset=15", 
    "total_count": 22, 
    "previous": "/api/lists/?limit=5&offset=5", 
    "limit": 5, 
    "offset": 10 
}, 

或將它定製tastypie到h更容易這樣的請求? 「http://my.domain.com/api/lists/?page=1」 我要重寫哪些方法?

非常感謝。

回答

3

覆蓋的RKPaginator :: loadPage方法與目標c類別和計算從頁號和限制的偏移,如圖的下面幾行代碼:

#import "RKPaginator+Tastypie.h" 
#import <objc/runtime.h> 

@implementation RKPaginator (Tastypie) 

- (void)TastypieLoadPage:(NSUInteger)pageNumber 
{ 
    [self TastypieLoadPage:(pageNumber-1) * self.perPage]; 
} 

+ (void)load { 
    method_exchangeImplementations(class_getInstanceMethod(self, @selector(loadPage:)), class_getInstanceMethod(self, @selector(TastypieLoadPage:))); 
} 

@end 

這裏來的施工RKPaginator對象:

RKPaginator *paginator = [[RKObjectManager sharedManager] paginatorWithPathPattern:@"yourResource/?limit=:perPage&offset=:currentPage"]; 
+0

如何解決'currentPage'問題? – saiday