페이지 매김을 통해 약간의 진전이 있었지만 완료되지는 않았습니다.
가져 오기 요청에 fetchLimit 및 fetchOffset이 0이 아니면 요청시 매개 변수가 생성됩니다. 이 http://domain.com/feed?page=1&per=20
같은 요청을 생성합니다
NSMutableDictionary *mutableParameters = [NSMutableDictionary dictionary];
self.paginator = [AFPageAndPerPagePaginator paginatorWithPageParameter:@"page" perPageParameter:@"per"];
[mutableParameters addEntriesFromDictionary:[self.paginator parametersForFetchRequest:fetchRequest]];
request = [self requestWithMethod:@"GET" path:@"feed" parameters:mutableParameters];
:
그래서, 내 AFRESTClient
서브 클래스에서, 방법 -requestForFetchRequest:withContext:
에 요청을 만들기 전에 나는대로 매기기를 설정합니다. 이 페이지는 그래서, 나는 다른 페이지를 요청 가져올 만들 수
NSUInteger perPage = fetchRequest.fetchLimit == 0 ? kAFPaginationDefaultPerPage : fetchRequest.fetchLimit;
NSUInteger page = fetchRequest.fetchOffset == 0 ? kAFPaginationDefaultPage : (NSUInteger)floorf((float)fetchRequest.fetchOffset/(float)perPage) + 1;
로 fetchOffset
및 FetchLimit
기준으로 계산됩니다,하지만 난 NSFetchedResultsController
를 사용하고 나는 그것이 다른 페이지를 요청 할 수없는 때 UITableView
을 스크롤하십시오. 나는으로 뭔가를 시도 : 여기
[NSFetchedResultsController deleteCacheWithName:[self.fetchedResultsController cacheName]];
self.fetchedResultsController.fetchRequest.fetchOffset = self.visibleChunk * self.chunkSize;
[_fetchedResultsController performSelectorOnMainThread:@selector(performFetch:) withObject:nil waitUntilDone:NO modes:@[ NSRunLoopCommonModes ]];
, visibleChunk
다른 페이지를 가지고하는 데 사용되어야하고, chunkSize
원하는 itens 하나 개의 API 요청의 수입니다.
이 질문에 대한 응답을 지시하지 않습니다,하지만 난 당신이 답을 찾을 여기에 게시 : 좀 더 뭔가를 발견하면, 나는이 업데이트
도울 수 있기를 바랍니다.
감사의 말을 전하면서 고맙습니다. – jaishankar
나는 그것을 효과가있게 만들었다. 하지만 NSFetchedResultsController에서는 작동하지 않습니다. NSFetchRequest를 사용하면'fetchOffset'을'fetchLimit'의 배수로 설정하면됩니다. 따라서 페이지 당 10 개의 항목에 대해 페이지 2를 가져오고 싶다면'fetchOffset'을 20으로 설정하고 변경된 NSFetchRequest 객체로 새로운 페치를 실행하면 완료됩니다. –