2014-02-18 24 views
0
  1. 我已经将tableview拖到视图控制器。
  2. 我已经为表格创建了一个outlet属性。UITableview代表不被称为

    @property(strong,nonatomic)IBOutlet UITableView * tableView;

  3. 我已经添加了代表在接口

    的UITableViewDelegate

    4.registered与委托:
    tableView.delegate=self;

,并增加了tableview中的所有功能,通常做曾工作过:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

和所有其他人。 函数在启动时未被调用。

我在这里失踪了什么?

+2

它们是数据源方法,而不是委托方法。 – Larme

+0

我犯了这个错误几次。你迟早会学会识别症状。 (如果一切都失败了,*小心*查看规格。) –

回答

1

您缺少tableView的dataSource。这些方法出现在dataSource上,而不是委托。

设置tableView.dataSource=self;以及,你应该很好去。

UITableView有两个代表delegatedataSource,因为他们处理不同的焦点领域。

+0

这就是它确实解决了它。但为什么当我创建了一个uitableviewcontroller类时,它没有使用它? – Curnelious

+1

当你使用UITableViewController时,当UITableViewController加载时,内部tableView的dataSource和delegate被设置为self。 – greymouser

0

您可能会缺少以下某项。

1.确保已通过Xib或代码将TableView的数据源和委托设置为当前视图控制器。

2.Do提及你的协议,你必须在你的下面的标题中实现。

@interface ViewController()<UITableViewDataSource,UITableViewDelegate>