1

iPhone 개발에 익숙하지 않습니다.내비게이션 컨트롤러에서 테이블 뷰 새로 고침

나는 테이블 뷰를로드하는 탐색 컨트롤러가 있습니다. tableview 클래스의 클래스 ID는 tableViewController 클래스입니다.

내비게이션 컨트롤러에서 테이블보기를 새로 고치는 방법을 알고 싶습니다.

나는 내가 막연한 생각하면 tableViewController 내에서 내가

[self.tableView reloadData]; 

죄송 사용할 수 있습니다 알고 있습니다. 미리 감사드립니다. 피드백 후

:

찾는 탐색 제어기 slTableViewController가 갱신 될 필요가있는 tableView의 위양

@interface slNavController : UINavigationController{ 

UIToolbar *toolbar; 
slTableViewController *tableVC; 

} 
@property(nonatomic, retain) slTableViewController *tableVC; 

이다. 나는 테이블을 갱신하기 위해 필요한 경우

와 나는 여기 slTableViewController 헤더

@interface slTableViewController : UITableViewController <UITableViewDelegate,UITableViewDataSource> { 

IBOutlet UITableView *slTableView; 
NSMutableArray *list; 
TryAppDelegate *appDelegate; 
//UIToolbar *toolbar; 
IBOutlet UITextField *textField; 

} 

그러나 여전히있는 tableview를 새로 고침 할 수 없습니다

[tableVC.tableView reloadData]; 

을 사용했다.

+0

"네비게이션 컨트롤러에서 무엇을 의미합니까?" UINavigationController를 하위 클래스로 만들었습니까? – GendoIkari

+0

내비게이션 컨트롤러 구현 파일에서 의미가 – Neelesh

+0

그래서 navigationController를 서브 클래 싱합니까? – GendoIkari

답변

1

tableView의 대리인 인 viewController가 있어야합니다. 해당 컨트롤러에 reloadData를 보냅니다.

[viewController.tableView reloadData]; 

스택에서 viewController가 어디에 있는지 알고 있으면 navController를 통해 액세스 할 수 있습니다. 예를 들어, rootViewController 일 경우

HomesViewController * homesController = [[[자가 navigationController] viewControllerers] objectAtIndex : 0];

0

navigationController에 tableViewController에 대한 포인터를 지정하십시오. 그런 다음

@property(nonatomic, retain) YourTableViewController *tableViewController; 

당신이 데이터를 다시로드하려면 : 그것은 탐색 기반 응용 프로그램 인 경우 당신은 당신이, 테이블 뷰의 데이터를 다시로드 할

[tableViewController.tableView reloadData]; 
+0

시도했습니다. 내 테이블 뷰 여전히 새로 고쳐지지 않습니다. ( – Neelesh

+0

reloadData를 호출하는 포인터가 실제로 테이블을 가리키는 지 확인하십시오 ... 포인터가 설정되지 않고 여전히 nil입니까? – GendoIkari

1

을 .H 파일에서

보기에 쓸 내용은 다음과 같습니다.

[self.tableView reloadData]; 
관련 문제