Ios registerClass:forCellReuseIdentifier:在swift中不起作用
我正在尝试使用下面给出的代码注册一个类UITableViewCell。我正在调用viewDidLoadIos 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
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
)。实际上,您应该使用以下命令,它肯定会返回非nilUITableViewCell
:
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