2010-12-01 3 views
1

동일한 뷰에서 여러 NSFetchRequestController를 갖는 것이 문제가됩니까? 나는 1 개의보기에 4 개의 테이블을 가지고 있으며 4 개의 컨트롤러가 필요합니다 - 태그를 사용하여 테이블을 구별해야합니다 - 가장 좋은 방법은 궁금합니다.동일한 뷰에 여러 NSFetchRequestController가 있습니까?

답변

1

나는 이것에 문제가 있다고 생각하지 않습니다. 각 테이블 뒤의 데이터가 매우 밀접한 관련이 없다고 가정하면 어쨌든 (여러 페치의 결과를 캐시하기 위해) 4 개의 개별 데이터 구조로 끝날 것입니다. 유용 할 수있는 한 가지는 각 테이블에 대해 별도의 dataSource을 가지고 있지만 공유는 delegate입니다. 이렇게하면 공유 델리게이트에서 뷰 로직을 처리 할 수 ​​있습니다 (예 : 셀을 선택하면 새 뷰 컨트롤러를 푸시). 그냥 생각.

0

별도의 컨트롤러 인스턴스를 사용하고 채우려는 테이블을 기반으로 fetchResultsController를 설정하는 한 괜찮습니다.

두 개의 별도 탭에서 다른 데이터 세트를 표시하기 위해 인스턴스화 된 뷰 컨트롤러가 하나 있습니다. NSFetchedResultsController 메소드에서 어떤 탭 표시 줄이 선택되었는지 테스트하고 그에 따라 적절한 조건자를 적용합니다.

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSUInteger tab = [theDelegate.tabBarController selectedIndex]; 
switch (tab) { 
    case kFeaturedTab: { 
       // Setup sort desc & predicates 
     } 
    case kComingSoonTab: { 
      // Setup alt. sort desc & predicates 
    } 
     ... // Do the fetch 
} 
관련 문제