[英]Indexpath in tableview delegate methods having different values
我正试图从我的地址簿中取出联系人。 我正在我的tableview上显示数据。 首先,我设置tableviewcell的高度。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
然后我实施
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我在这些委托方法中编写条件和逻辑。 但我遇到的问题是,两种方法中索引路径的值都不同。 因此,当我循环遍历地址簿时(在这些方法中),两个委托方法都以不同的顺序执行。 为什么索引路径在两种情况下都具有不同的值
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
仅在单元格进入视图之前调用
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
当呈现tableview以获取tableview内容的总高度时,将为所有行调用-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
。
我还必须同意@Vince的评论,你唯一应该关心的是方法是根据给定的索引路径返回正确的值。
通常,您应该将tableview所需的所有数据加载到例如NSArray
。 然后根据索引路径从该数组中获取正确的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.