无法将UITableViewDataSource与自定义单元格一起使用

时间:2017-04-10 15:05:16

标签: ios swift uitableview

如果我使用自定义单元格BaseCell,则无法导入UITableViewDataSource。仅适用于UITableViewCell,但BaseCell来自UITableViewCell

类型
import UIKit

class XptoViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var table: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int {
    return 10
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> BaseCell {
    let cell = BaseCell()
    return cell
}

}

1 个答案:

答案 0 :(得分:4)

尝试相反的方法:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = BaseCell()
    return cell
}

但你可能想要使用类似的东西:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("BaseCell") as? BaseCell
    return cell!
}

确保将“BaseCell”设置为您的小区标识符,如下所示: Sample of interface Builder

如果您遇到运行时错误,例如“在解包可选时找到nil”,则需要将BaseCell视为您的单元格的类,请参见图片: enter image description here