UITableView不能调用cellForRowAtIndexPath

问题描述:

我想创建一个视图控制器与地图作为标题(工作),但我的tableview不会填充和cellForRowAtIndexPath方法永远不会被调用。有什么建议么?UITableView不能调用cellForRowAtIndexPath

代码在这里要点:https://gist.github.com/ohwutup/5229232 这里是我的IB设置的一些截图: UITableViewFile's Owner

+0

是否将表视图的委托和数据源设置为表视图本身?或者截图上的“Table ...”是什么? – 2013-03-23 20:33:35

+0

是的。并通过这个问题,我已经可以告诉我做错了什么:/ – ohayon 2013-03-23 20:35:07

你的tableview的数据源和委托应该是你的视图控制器,DOViewController。然后你tableview将正确填充。将IB中的插座更改为指向您的视图控制器类。

+0

当我这样做时,我得到一个问题,“视图一次只能与最多一个视图控制器关联!” – ohayon 2013-03-23 21:11:16

在您的viewDidLoad方法中,添加此项。

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    self.title = @"Nearby"; 

    self.tableView.tableHeaderView = _mapView; 
    self.tableView.delegate = self; 
    self.tableView.dataSource = self; 
    ... 
} 
+0

也不工作。我通过在我的AFJSONRequestOperation – ohayon 2013-03-23 23:48:37

+0

的完成块中调用[_tableview reloadData]工作。在任何代码中,您都需要调用[self.tableView reloadData],但UITableView知道类是“委托和数据源”你的桌子。在这种情况下是DOViewController类。 – Menio 2013-03-24 00:01:06

+0

现在我在代码中看到,您错过了'@syntetize'用于所有'@property'的用法。像'@sintetyze tableview = _tableView;' – Menio 2013-03-24 00:13:29

需要在我的json请求的完成块中做[self reloadData]