AFIncrementalStore를 사용하여 모든 설정을 완료했으며 Parse을 백엔드 서비스로 사용합니다. 이러한 서비스를 사용하면 월간 1MM 요청을 초과하는 것처럼 API 요청을 중요하게 계산할 수 있습니다 (성공적인 측정 항목 임에도 불구하고). 괜찮은 청구서가 발생할 수 있습니다. 이것은 보통 문제가 될 수 있지만 것 제가 AFHTTPClient
에서 다음과 같은 방법에 중단 점을 세우면 내가보고 있어요 :3 NSFetchedResultsController를 사용하여 AFIncrementalStore가있는 객체 당 요청
- (void)enqueueHTTPRequestOperation:(AFHTTPRequestOperation *)operation;
내가 특정 객체에 대한 요청이 3 번 발생하는 것을 발견 한 번만 필요합니다. 서로 다른 메모리 주소가 AFHTTPRequestOperation
에서 온 것을
$1 = 0x0b9afe30 https://api.parse.com/1/classes/Poem/cUpTflj0j8
// ...
$8 = 0x099e0a30 https://api.parse.com/1/classes/Poem/cUpTflj0j8
...
$18 = 0x0bb6d530 https://api.parse.com/1/classes/Poem/cUpTflj0j8
주, 나는 각 요청의 objectId
(URL의 끝에 임의의 문자열)을 검사 할 수있는 request.URL
속성을 인쇄하고 있습니다.
이제 디버깅 및 검사 2 일 후에 NSIncrementalStore
또는 AFIncrementalStore
의 동작을 충분히 이해하지 못했습니다. 의도적이든 아니든이 문제의 원인이 될 수있는 것에 대한 의견을 듣고 싶습니다.
나는 NSFetchedResultsController
에 UITableView
을 사용하고 있다고 덧붙일 수 있습니다. 개체의 첫 번째 요청에 대한 스택 추적을 따라 내 tableview의 데이터 원본을 추적했습니다. 나머지 두 요청은 AFIncrementalStore
내부 메소드로 추적됩니다.
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
NSManagedObject *poem = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [poem valueForKey:@"title"]; // traced back to here
// ...
}