在Xcode中识别静态单元格的正确方法?

时间:2019-03-20 04:37:05

标签: ios swift uitableview

我有一个表视图控制器,并且覆盖了此功能:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath)

    // Configure the cell...

    return cell
    }

我的单元格标识符为myCell。我创建了4个静态单元格,然后进入每个单元格并给每个标识符myCell。但是,由于无法识别小区标识符而导致崩溃。但是,如果我更改为动态原型,请为单元格指定myCell标识符,它可以正常工作。我想这现在就可以了...因为我可以动态地告诉它我想要多少个单元格。但是我真的很想找出为什么我的静态单元无法使用相同的精确方法工作的原因。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当您拥有静态单元格时(即一小组固定的小型静态单元格,而不是带有动态单元格原型的动态单元格,在这些单元格中您可以控制要动态生成的哪种类型的单元格),您不应实施任何UITableViewDataSource个方法。只需为静态单元格中的各种控件创建foreach ($file in $files) { [xml]$($file.BaseName) = Get-Content $file.FullName } 引用,然后像完全不使用IBOutlet一样更新它们即可。


顺便说一句,如果您使用动态单元,则永远不会为两个不同的单元原型提供相同的重用标识符。重用标识符的目的是让其知道要使用哪个单元原型,因此为多个单元原型赋予相同的标识符没有任何意义。