我在tableView的每一行都有ScrollView。我正在为它分配不同的标签。 它第一次完美运作。当更改数组中的数据并使ReloadData App崩溃时。
错误就像
致命错误:在解包可选值时意外发现nil
一段代码
SELECT * FROM ("'".$name[$i]."','".$category[$i]."', '".$contract[$i] ."', '". $link[$i] ."'") AS tmp
错误来自
scrollView =(cell.viewWithTag(3)!as!UIScrollView)
在reloadData之后行崩溃。任何解决方案?
答案 0 :(得分:1)
好像你强迫许多可选项解包,也许在尝试使用它们之前先检查它们。
我不知道你的逻辑是做什么的,但是对崩溃的特定行进行一些检查会尝试这样的事情。
var scrollView:UIScrollView!
if(flag.object(at: indexPath.row) as! String == "0"){
if let view = cell.viewWithTag(3) {
if let sv = view as? UIScrollView {
scrollView = sv
scrollView.tag = ((100 * indexPath.row)+1)
flag.replaceObject(at: indexPath.row, with: "1")
} else {
print("view found with tag 3 but it's not a scrollview")
}
} else {
print("no view found with tag 3")
}
} else {
scrollView = (cell.viewWithTag(((100 * indexPath.row)+1))! as! UIScrollView)
}