2011-12-20 2 views
0

휴스턴, 나는 5 일 동안 작업 중이며 문제를 해결할 수없는 문제가 있습니다. 따라서 tabBarController 인 앱에서 작업하고 있습니다. 첫 번째 탭에는 일부 개체가 포함 된 tableViewController이 있습니다. cell을 누르면 버튼이있는 형태로 바뀝니다. 그리고이 버튼을 누르면 상단에있는 navigationBar의 제목을 저장합니다. (눌렀던 셀의 제목을 저장합니다.) 그런 다음 다른 (두 번째) 탭으로 넘어 가면 tableView이 표시된보기를 볼 수 있습니다. 그리고 셀에서 볼 것으로 예상되는 것은 첫 번째 탭에서 navBar (또는 셀)의 제목입니다. 하지만 대신이 tableView에서 첫 번째 tableView의 모든 개체를 볼 수 있지만 저장 한 개체는 표시되지 않습니다. https://gist.github.com/1501328plist 및 TableView

그래서 다시 :

여기 내 코드 첫 번째 탭은 tableViewController 있습니다. 임의의 셀을 누르면 버튼이있는 다른보기로 이동합니다. 버튼을 누르면 navBar의 제목이 저장되므로 셀 이름과 동일합니다. 두 번째 탭으로 이동하면 tableview가 포함 된 뷰를 볼 수 있으며 셀에 저장된 제목을보고 싶지만 첫 번째 탭 tableView의 모든 개체가 표시됩니다.

실망 스럽지만 제발, 저에게 stackoverflow 커뮤니티를 도와주세요! ! !

답변

0

두 테이블보기에서 동일한 콘텐츠를 얻은 이유는 동일한 dataSource을 공유하기 때문일 가능성이 큽니다.

같은 개체가 두 개 이상의 테이블 뷰의 데이터 소스로 사용되는 경우 tableView 매개 변수를 사용하여 대리자 및 데이터 소스 메서드에서 차이를 만들어야합니다.
제목 정보가 올바른 위치에 저장되어 있는지 확인한 다음 대리인 및 데이터 소스 메서드를 다시 확인하고 행 및 셀 수를 반환 할 때 테이블보기간에 차이를 확인하십시오.

그렇지 않은 경우 잘못된 값을 표시하는 테이블보기에 대해 delegatedataSource을 적절하게 설정하십시오.

코드를 볼 때 Favorites만이 대리인 및 데이터 소스 프로토콜을 따르고 있으며이 개체는 두 테이블 모두의 대리인이자 데이터 소스입니까? 이 방법들 중 아무 것도 그 차이를 돌보지 않습니다 ...

+0

감사합니다 빈스! 사실을 말하면, 나는 그것에 대해 생각하지 않았다. 하지만 제발 말해 주실 수 있습니다. 데이터 소스가 동일한 지 어떻게 확인할 수 있습니까? 그리고 델리게이트 및 데이터 소스 메서드에서 어떻게 차이를 만들 수 있습니까? – Cosinus

+0

이러한 모든 메소드는 'UITableView *'유형의 첫 번째 매개 변수를 제공합니다.이 매개 변수는 정보를 요청하는 테이블 뷰입니다. 예 :'(NSInteger) tableView : (UITableView *) tableView numberOfRowsInSection : (NSInteger) section'. 'tableView' 레퍼런스와 차이점을 만드십시오. 그들이 동일한 데이터 소스 및/또는 델리게이트를 가지고 있는지 확인하려면 IB 나 Iether를 코드로 설정했기 때문에 그것을 알아야한다고 말할 것입니다 ... –

+0

감사합니다. – Cosinus