Ios 如何修复IBOutlet“;意外发现“无”;使用RxSwift绑定数据时出错?

Ios 如何修复IBOutlet“;意外发现“无”;使用RxSwift绑定数据时出错?,ios,rx-swift,Ios,Rx Swift,我想将我的视图模型类中的BehaviorRelay数据绑定到我的UIViewController类中的UITableView中,但不幸的是,我一直遇到以下错误: 隐式展开可选值时意外发现nil:file project/ResultCell.swift,第27行 2021-04-17 15:06:32.497411+0700项目[5189:936745]致命错误:隐式展开可选值时意外发现零:file project/ResultCell.swift,第27行 以下是我(在我的视图控制器类中)所做

我想将我的视图模型类中的
BehaviorRelay
数据绑定到我的
UIViewController
类中的
UITableView
中,但不幸的是,我一直遇到以下错误:

隐式展开可选值时意外发现nil:file project/ResultCell.swift,第27行 2021-04-17 15:06:32.497411+0700项目[5189:936745]致命错误:隐式展开可选值时意外发现零:file project/ResultCell.swift,第27行

以下是我(在我的视图控制器类中)所做的:

我的视图模型类:

fileprivate final class SearchVM {
    var results = BehaviorRelay<[ModelData]>(value: [ModelData]())
    
    init() { }
    
    func search(_ query: String) {
        // Get the data from a server and store it in the results property
    }
}

更详细地说,我正在创建一个搜索页面,可以根据搜索结果显示数据(我正在为我的
UIViewController
UITableViewCell
文件使用
.xib
文件)。因为我正在学习RxSwift,所以我不想为我的
UITableView
使用任何委托和数据源。我猜错误是因为单元格没有正确加载,所以IBOutlets还没有初始化。但我不知道如何解决这个错误。还有什么办法解决这个问题吗?

您已经根据重用标识符注册了单元类。这只是实例化您的单元实例,而不引用您的XIB文件,因此出口没有连接

您需要根据重用标识符注册XIB文件


私有func setupUI(){//在viewDidLoad()中调用
resultsTv.register(UINib(nibName:“yourNib”,bundle:nil),forCellReuseIdentifier:ResultCell.IDENTIFIER)
}
fileprivate final class SearchVM {
    var results = BehaviorRelay<[ModelData]>(value: [ModelData]())
    
    init() { }
    
    func search(_ query: String) {
        // Get the data from a server and store it in the results property
    }
}
class ResultCell: UITableViewCell {
    static let IDENTIFIER = "ResultCell"
    
    @IBOutlet weak var photoIv: UIImageView!
    @IBOutlet weak var idLbl: UILabel!
    @IBOutlet weak var nameLbl: UILabel!
    @IBOutlet weak var miscLbl: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
    }
    
    func configureData(with data: ModelData) {
        idLbl.text = "ID: \(data.id ?? "")" // The line that causes the error
        nameLbl.text = data.name
        miscLbl.text = "\(data.gender), \(data.height), \(data.phone)"
    }
}