写点什么

iOS TableView willDisplayCell 获取失败

作者:新一
  • 2022-12-01
    山东
  • 本文字数:395 字

    阅读完需:约 1 分钟

iOS TableView willDisplayCell 获取失败

最近又回到了 OC 的工程,在 iOS 16 系统里发现一个tablewView的问题

TableViewDelegate中有一个函数- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath,我们在获取 cell 时会有这种写法

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {// 在iOS 16的系统里就会出现获取不对的情况    if ([cell isKindOfClass:[TestCell class]) {        TestCell *cell = (TestCell *)cell;    }}
复制代码


写法应该是依据UITableViewDataSource里的cellForRowAtIndexPathcell 复用逻辑,类似下面

if ([cell isKindOfClass:[TestCell class]) {	TestCell *cell = (TestCell *)[tableView dequeueReusableCellWithIdentifier:NSStringFromClass([TestCell class])];}
复制代码


用户头像

新一

关注

还未添加个人签名 2018-11-15 加入

还未添加个人简介

评论

发布
暂无评论
iOS TableView willDisplayCell获取失败_UITableView_新一_InfoQ写作社区