tableview中的索引路径委托具有不同值的方法

时间:2012-01-05 14:47:43

标签: iphone ios uitableview addressbook nsindexpath

我正在尝试从我的地址簿中接听联系人。我正在我的tableview上显示数据。首先,我设置tableviewcell的高度。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

然后我实施

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

我在这些委托方法中编写条件和逻辑。但我遇到的问题是,两种方法中索引路径的值都不同。因此,当我循环遍历地址簿时(在这些方法中),两个委托方法都以不同的顺序执行。为什么索引路径在两种情况下都有不同的值

1 个答案:

答案 0 :(得分:2)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath仅在单元格进入视图之前调用

当提供tableview以获取tableview内容的总高度时,将为所有行调用

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

我还必须同意@Vince评论,你应该关心的唯一事情就是方法根据给定的索引路径返回正确的值。

通常,您应该将tableview所需的所有数据加载到NSArray中。然后根据索引路径从该数组中获取正确的对象。