내 iPhone 응용 프로그램에서 UITableView에서 사용자 개체를 표시하는 NSFetchedResultsController가 있습니다. 사용자 객체에는 0 개 이상의 Log 객체가 있습니다. Log 개체의 요약은 User 개체와 함께 UITableView에 표시됩니다.페치 된 객체를 변경하지 않고 NSFetchedResultsController에서 다시로드를 트리거하려면 어떻게해야합니까?
내 앱은 탭 표시 줄을 사용하므로 로깅 탭의 사용자 입력시 사용자 탭의 NSFetchedResultsController가 다시로드되어야합니다.
지금까지 필자는 사용자 개체에 작성하여 그것을 : 이것은 잘 작동하지만 해킹처럼 조금 보인다
log.user = nil;
log.user = [User current]; // Same as before. Just triggering a reload.
NSError *error = nil;
[myManagedObjectContext save:&error];
.
더 좋은 방법이 있나요? Log 객체의 변경 사항이 User 객체에도 전파되도록 지정하는 것과 비슷합니까?
* 로그 개체에서 사용할 수있는 새 데이터가 * 있습니다. Log 객체는 사용자 화면과 함께 User 객체와 함께 요약됩니다. 그러나 Log 개체 만 업데이트해도 가져온 User 개체가 새로 고쳐지지 않습니다. – geon
관련 뷰 컨트롤러에 있다면'-reloadData'에 대한 호출로 충분할 것입니다. 그렇지 않다면 관련 뷰 컨트롤러가 NSManagedObjectContextDidSaveNotification을 수신 대기하고 테이블을 새로 고칩니다 (또는 특정 세포). 초기 솔루션은 위험한 것으로 느껴집니다. –