Swift UITableViewCell.Xib文件中的IBOutlet Nil

Swift UITableViewCell.Xib文件中的IBOutlet Nil,swift,xcode,uitableview,nib,iboutlet,Swift,Xcode,Uitableview,Nib,Iboutlet,在名为Cell的UITableViewCell子类中,我从相应的Xib文件附加的所有IBOutlet都为零,并导致应用程序崩溃,错误线程为1:致命错误:在我尝试访问IBOutlet属性的行上展开可选值时意外发现为零。.Xib文件的文件所有者设置为cell,.Xib文件中的UITableViewCell也设置为cell 代码: }您的内部视图未与文件所有者连接,因此请创建一个IBOutlet属性 @IBOutlet private var contentView:UIView 将其与xib文件的主

在名为Cell的UITableViewCell子类中,我从相应的Xib文件附加的所有IBOutlet都为零,并导致应用程序崩溃,错误线程为1:致命错误:在我尝试访问IBOutlet属性的行上展开可选值时意外发现为零。.Xib文件的文件所有者设置为cell,.Xib文件中的UITableViewCell也设置为cell

代码:


}

您的内部视图未与文件所有者连接,因此请创建一个IBOutlet属性

@IBOutlet private var contentView:UIView

将其与xib文件的主视图连接,作为参考输出

在自定义类的这个函数中

@objc required public init(coder-aDecoder:NSCoder){super.init(coder:aDecoder)!commonInit()//将其写入加载nib文件}


commonInit()
中,从bundle加载nib并将contentview添加为commonInit()

如果创建单独的函数并在其中打印label.text,它会崩溃吗?从索引路径的行单元格调用该函数,而不是从awakeFromNibyes调用该函数,它会崩溃。在发布这篇文章之前,我创建了一个名为ViewDidLoad的函数,并在其中打印了label.text。然后,我在awakeFromNib()中调用了viewDidLoad,尝试在索引路径中为实际使用单元格而不是从awakeFromNib中使用单元格的行调用if-fromnib@Miknash我刚试过,但应用程序仍然崩溃检查您在中设置的自定义类。xib文件所有者是您的类“Cell”
import UIKit

class Cell: UITableViewCell, UICollectionViewDelegate,UICollectionViewDataSource {

@IBOutlet weak var label: UILabel! (CONNECTED TO .XIB FILE)

override func awakeFromNib() {
    super.awakeFromNib()
    viewDidLoad()
    print(label.text)//APP CRASHES HERE!
    // Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 1
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellId", for: indexPath)
    return cell

}