• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - swift 4 : UITableView cellForRow crash

[复制链接]
菜鸟教程小白 发表于 2022-12-13 03:58:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我不明白我做错了什么。我有一个名为 TblView_Categorie 的 UITableView,我想做的是在所需的 indexpath 处获取单元格:

这是我的代码:

let myRecordindex = IndexPath(row: myRecordcheck, section: 0)

let cell = tblViewcategorie.cellForRow(at: myRecordindex) as! categorieTVC 

问题是如果 MyRecordIndex 显示在屏幕上(不需要滚动)一切正常

如果屏幕上未显示 MyRecordIndex(需要滚动),我会遇到此错误:

Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

如果我手动滚动到所需的索引并输入所需的 MyRecordIndex 一切正常

我尝试使用下面的代码自动滚动:滚动工作但仍然出现同样的错误

   self.tblViewCategorie.scrollToRow(at: myRecordindex, at: UITableViewScrollPosition.middle, animated: true)

为什么会出现这个错误?我要做的就是让单元格位于所需的索引路径以更改颜色、字体等。

//更新 cellForRowAt 实现

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! categorieTVC
    if let categorieName = self.fetchedResultsController.object(at: indexPath).categorieName{
        cell.setListeDesCategories(categorieName: categorieName)
    }
    return cell
}

//更新代码和崩溃截图

Crash and code



Best Answer-推荐答案


你不能显式地展开

 let cell = TblView_Categorie.cellForRow(at: MyRecordIndex) as! CategorieTVC 

因为单元格我不可见,所以它将为零 -> 崩溃

试试

 let cell = TblView_Categorie.cellForRow(at: MyRecordIndex) as? CategorieTVC 

 if(cell != nil)
 {

 }

编辑:滚动到单元格并在 cellForRow 之后调度

let myRecordindex = IndexPath(row: myRecordcheck, section: 0)

self.tblViewCategorie.scrollToRow(at: myRecordindex, at: UITableViewScrollPosition.middle, animated: true)

DispatchQueue.main.asyncAfter(deadline: .now() + 1.0 )) {

 let cell = TblView_Categorie.cellForRow(at: MyRecordIndex) as? CategorieTVC 

 if(cell != nil)
 {

 }
}

关于ios - swift 4 : UITableView cellForRow crash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48630808/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap