1

我是iPhone開發新手。從導航控制器重新加載tableview

我有一個導航控制器加載tableview。 tableview的類標識是一個tableViewController類。

我想知道如何刷新導航控制器的表格視圖。

我知道tableViewController內我可以使用

[self.tableView reloadData]; 

很抱歉,如果我是模糊的。 在此先感謝。

反饋後:

這裏是導航控制器

@interface slNavController : UINavigationController{ 

UIToolbar *toolbar; 
slTableViewController *tableVC; 

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

其中slTableViewController是需要刷新的的tableView的代表。

,並在那裏我需要刷新表,我用

[tableVC.tableView reloadData]; 

這裏是slTableViewController頭

@interface slTableViewController : UITableViewController <UITableViewDelegate,UITableViewDataSource> { 

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

} 

但仍無法刷新的tableview。

+0

你是什麼意思「從導航控制器?」你有沒有繼承UINavigationController? – GendoIkari

+0

我的意思是在導航控制器實現文件 – Neelesh

+0

所以你是子類navigationController? – GendoIkari

回答

1

必須有一些viewController是tableView的委託。將reloadData發送到該控制器,例如

[viewController.tableView reloadData]; 

如果您知道viewController的位置,您可以通過navController訪問它。例如,如果它碰巧是rootViewController,那麼你可以做

HomesViewController * homesController = [[[self navigationController] viewControllers] objectAtIndex:0];

0

給你的navigationController一個指向tableViewController的指針。

在.h文件:

@property(nonatomic, retain) YourTableViewController *tableViewController; 

然後,當你要重新加載數據:

[tableViewController.tableView reloadData]; 
+0

試過了。我的tableview沒有得到刷新仍然:( – Neelesh

+0

檢查您正在調用reloadData的指針實際上指向您的表...指針可能沒有設置,仍然爲零? – GendoIkari

1

如果是基於導航應用要重新加載表視圖的數據,你有寫在視圖中將出現像這樣

[self.tableView reloadData]; 
相關問題