1

내 응용 프로그램의 첫 번째 탭에서 개체를 변경할 때마다 fetchedResultsController를 사용하기 때문에 업데이트는 탭 2에서 자동으로 업 그레 이드됩니다. 이제는 세 번째 탭도 업데이트해야하지만 어떻게 할 수 있습니까?관리되는 개체 컨텍스트를 관찰하는 방법

적절한 데이터를 얻기 위해 세 번째 탭에만 nsmangedObjectContext가 있습니다. 이 컨텍스트의 객체가 변경 될 때마다 알림을받을 수 있습니까?

탭 2와 3이 같은 데이터 세트를 사용하기 때문에 데이터를보다 효율적으로 가져올 수있는 방법에 대한 질문에 어려움을 겪고 있습니다. 나는 현재 탭 2와 동일한 데이터를 얻기 위해 탭 3에서 다른 페치를 만들고 있습니다. fetchedresultscontroller를 방해하지 않고 tab2의 데이터를 어떻게 사용할 수 있는지 알지 못합니다.

이 주제에 대한 정보는 정말 감사하겠습니다 !!

답변

0

테이블 뷰가 매우 밀접하게 관련되어 있다면 UITableViewDataSource 하나만 가지고 둘 다에 대한 데이터를 제공하고 NSFetchedResultsController을 관리하게 할 수 있습니다. 당신의 설명에서,이 사건은 매우 가능성이 보인다. tableviews이 하나의 UITableViewDataSource을 가진 것은 과도한 if() 논리를 만들 것 같은 매우 유사하지 않은 경우 전화 - 백업을 위임받을 때

, 후 별도의 모델 객체로 NSFetchedResultsController를 이동 NSNotifications을 게시 할 수 있습니다. 그런 다음 UITableViewDataSources은 화면에 표시 될 때 해당 알림을 업데이트 할 수 있습니다.

+0

귀하의 정보를 보내 주셔서 감사합니다! 그러나 세 번째 탭은 테이블보기가 아닙니다. 그래서 나는 tableview (tab 2)와 regular view (tab 3)를 다루고있다. 어떻게해야합니까? – Ton

+0

MVC를 설계 할 때 강한 배경이 없다면 위의 후자의 솔루션을 이해하기가 쉽습니다. 만약 내가 그것을하고 있었다면, 아마 두 개의 뷰에 대한 데이터 소스 인 단일 데이터 객체를 만들지 만 두 번째 뷰의 데이터 소스 프로토콜을 설계하고 tableview 데이터 소스에서 tableview 컨트롤러를 분리해야합니다. 그다지 어렵지는 않지만 애플의 샘플 코드에 가깝기 때문에 위에 두 번째 디자인을 추천 할 수도 있습니다. –

관련 문제