Ios registerClass:forCellReuseIdentifier:在swift中不起作用

Ios registerClass:forCellReuseIdentifier:在swift中不起作用,ios,swift,uitableview,Ios,Swift,Uitableview,我正在尝试使用下面给出的代码注册一个类UITableViewCell。我正在调用viewDidLoad tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "SearchResult") 但当我尝试去挖牢房时,我得到的是零牢房。此代码正在my view controller扩展中调用(实现tableview协议的扩展) 错误: fatal error: unexpectedly found nil whil

我正在尝试使用下面给出的代码注册一个类UITableViewCell。我正在调用viewDidLoad

tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "SearchResult")
但当我尝试去挖牢房时,我得到的是零牢房。此代码正在my view controller扩展中调用(实现tableview协议的扩展)

错误:

fatal error: unexpectedly found nil while unwrapping an Optional value
你知道我做错了什么吗


谢谢。

每当表视图尚未初始化任何单元格时,都是
nil
。要么检查它是否为
nil

var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("SearchResult") ?? UITableViewCell()
但这实际上并不完美(顺便说一句,如果你不知道:
??
是表达式的结果,如果第一部分是
nil
)。实际上,您应该使用以下命令,它肯定会返回非nil
UITableViewCell

var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("SearchResult", forIndexPath: indexPath)

你有tableviewcell的NIB(xib)文件吗?你在哪里调用registerClass?让cell=tableView.dequeueReusableCellWithIdentifier(“SearchResult”,forIndexPath:indexPath)@IvanLesko-我已经用调用这些东西的位置的信息更新了我的问题。
var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("SearchResult", forIndexPath: indexPath)
let cell = tableView.dequeueReusableCellWithIdentifier("SearchResult")! as UITableViewCell