2012-08-12 3 views
0

TabBarController (스토리 보드 템플릿)에서 응용 프로그램을 만들고 있습니다. 탭은 모두 UITableViews가있는 UINavigationController입니다. Tab 2가 입력 될 때마다 tableview가 업데이트되어야합니다 (추가 할 새 항목을 찾습니다). 그러나 한 번만로드됩니다! (처음 탭을 입력했습니다.) 어떻게 수행하나요?탭을 다시 입력 할 때 UITableView 업데이트

내 문제를 자세히 설명 : 탭 2. 셀 탭에있는 TableView에 추가 할 내가 표 1에있을 때는

, 나는 몇 가지 세포 (객체)를 선택는 reprecented 객체에 대한 부울 변화 사물의 plist.

시작시 탭 1의 객체를 선택한 다음 Tab 2를 입력하면 TabView를 처음 입력하기 때문에이 TableView가 셀로 채워지고로드됩니다.

그러나 Tab1로 돌아가서 더 많은 개체를 선택하면 TableView가 이미로드되어 있기 때문에 이러한 개체가 Tab 2에 표시되지 않습니다. 그럼 어떻게 Tab 2 TableView를 다시로드 할 수 있습니까? 탭 2를 선택하면이 작업을 수행해야합니까? TabBarController에 대한 클래스 또는 참조가 없습니다. 스토리 보드에만 있습니다. 아니면 Tab 1의 addObject 액션에서해야하나요? 답변 주셔서 감사합니다.

답변

2

어쩌면 당신은 탭 2 뷰 컨트롤러의 viewWillAppear

[self.tableView reloadData]; 

를 추가 시도 할 수 있습니다.

+0

시도했지만, 차이가 없습니다. .m의 - (void) viewWillAppear의 배치가 함수에 영향을 줍니까? – ingenspor

+0

Tab 2보기 컨트롤러의 .m 파일을 의미하는 경우 올바른 위치에 있습니다. 당신은 탭 2에 대한 기본 UITableViewController 구현을 사용합니까? 그렇지 않다면 self.tableView를 사용자가 만든 테이블 뷰의 참조로 바꾸십시오. – Selkie

1
-(void)viewDidAppear 
{ 
    [super viewDidAppear]; 
    [self.tableViewName reloadData]; 
} 
1

알림을 사용해야합니다. 로컬 NSNotification을 보낸 다음 tableView 뷰에 addObserver를 응답하여 다시로드하십시오. 뷰가 이미로드되어 있으므로 정상적인 방식으로 테이블을 다시로드 할 수 없습니다.

관련 문제