0

我正在尝试从我的通讯录中获取联系人。我在我的 tableview 上显示数据。首先,我设置了 tableviewcell 的高度。

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

然后我实施

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

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

4

1 回答 1

2

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

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath在呈现 tableview 时为所有行调用以获取 tableview 内容的总高度。

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

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

于 2012-01-05T14:57:32.177 回答