2

CoreData 및 ResultsController는 작업을 매우 쉽게 만듭니다.ResultsController to another ResultsController

내가 하나 개있는 tableView의 기능 resultsController이 :하지만 ... 여기

상황이다. 행을 선택할 때 하위 엔티티를 표시하는 또 다른 tableView로 이동합니다. coreData를 사용하면 하위 엔티티를 사용할 수 있습니다. 하지만이 하위 엔터티를 사용하여 다른 resultsController를 시작하려면 어떻게해야합니까? 이 새로운 resultsController에 대해 술어를 사용하여 필터링하려면 fetchRequest를 다시해야합니까?

상위 TablewView : resultsController 에 행 선택 -> 어린이의 TableView : INIT 엔티티로부터 수신하고 다른 resultsController init로 - 어린이의 TableView의> 내용 : 제 RC에서 선택된 행에서 표시 세부.

더 좋은 방법이 있습니까?

답변

1

두 번째 UITableView가 단지 1 NSManagedObject의 세부 정보를 표시하는 경우 왜 resultsController를 만드십니까? NSManagedObject 포인터를 새 TableView에 전달하고 UITableViewDataSourceprotocol method에 표시되도록 처리하십시오.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 구현을 위해 NSArray에서 각 행에 대해 원하는 요소를 정렬 할 수 있습니다.
TableView가 먼저 표시되기 전에 NSArray를 완료해야합니다.

+0

하지만 두 번째 UITableView 세부 UIView 변경 내용을 제공 할 것입니다? 예 : 첫 번째 UITableView는 요리법을, 두 번째는 재료를, 세 번째 (UIView)는 재료의 세부 사항을 제공합니다. 성분 이름을 변경하면 두 번째 UITableView가 직접 resultsController없이 이것을 표시합니까? – pablotj

+0

@pablotj NSMagnagedObject 주위를 지나가고있는 경우 NSMagnagedObject를 수정하고 컨텍스트에 변경 사항을 저장하면 UITableView 컨트롤러로 돌아갈 때 데이터를 다시로드해야합니다. 다시로드하지 않으면 강제로로드 할 수 있습니다. viewWillAppear에서 다시로드하십시오. –

+0

그러나 ResultsControllerler에서 제공하는 메모리 컨트롤이 손실됩니다. 다른 RS로부터 resultsController를 초기화하는 것이 가능합니까? 그렇지 않으면 그럴 수있는 유일한 방법은 일반적인 init입니까? – pablotj

관련 문제