在ReloadData之后UIScrollView崩溃

时间:2017-03-08 11:03:22

标签: ios swift uitableview uiscrollview

我在tableView的每一行都有ScrollView。我正在为它分配不同的标签。 它第一次完美运作。当更改数组中的数据并使ReloadData App崩溃时。

错误就像

  

致命错误:在解包可选值时意外发现nil

一段代码

SELECT * FROM ("'".$name[$i]."','".$category[$i]."', '".$contract[$i] ."', '". $link[$i] ."'") AS tmp

错误来自

  

scrollView =(cell.viewWithTag(3)!as!UIScrollView)

在reloadData之后行崩溃。任何解决方案?

1 个答案:

答案 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)
}