广东话刷新的UITableView内的UIViewController

问题描述:

新手:(广东话刷新的UITableView内的UIViewController

通过教程调整我的方式,但36小时不明白这一个

例1.H

@interface RootViewController : UITableViewController { 
    NSArray  *userList;  // the current list of users 
} 
@property (nonatomic, retain) NSArray  *userList; 
- (void) updateTable:(NSArray *)data; 
- (void) fetchData; 
@end 

例1.M

- (void) updateTable:(NSArray *)data { 
    self.userList = data; 
    [self.tableView reloadData]; 
} 

这工作,异步XML对象返回一个数组与选择器updateT能够和表更新。

但是,当我使视图一个UIViewController表不更新

例2.H

例2.M

- (void) updateTable:(NSArray *)data { 
    self.userList = data; 
    NSLog(@"updateTable sees this data: %@", userList); 
    //[self.tableView reloadData]; 
    [tableView reloadData]; 
} 

updateTable执行和数据是通过了好,但表不刷新。我意识到这是我处理表的方式,因为它是UIViewController的一部分,而不是直接的UITableViewController。但我认为

UIViewController <UITableViewDataSource, UITableViewDelegate> 

有线在表中。如果我将数组内容硬编码到AppDelegate中,则我有另一个测试用例,其中示例二适用。

我已经试过

[FirstViewController reloadData]; 
[FirstViewController.tableView reloadData]; 

既不工作。

脑死了看代码。希望这很简单。

TIA

+1

你可以粘贴NSLog的输出(@“%@”,tableView);在updateTable中: – MCannon 2011-03-21 19:04:25

+1

您是否已将界面构建器中的表的数据源和代理插座连接到控制器? – 2011-03-21 19:05:00

+0

@Saltymule。啊哈,不,我没有......好的想法。但是在数据源和委托给FirstView.xib中的文件所有者之后,由于未捕获异常'NSInvalidArgumentException'导致应用程序崩溃,原因:' - [FirstViewController tableView]:无法识别的选择器发送到实例0x9403c60' – JulianB 2011-03-21 19:43:48

最可能的原因是,tableViewnil。确保你已经用IB连线了。