Swift UITableViewCell.Xib文件中的IBOutlet Nil
在名为Cell的UITableViewCell子类中,我从相应的Xib文件附加的所有IBOutlet都为零,并导致应用程序崩溃,错误线程为1:致命错误:在我尝试访问IBOutlet属性的行上展开可选值时意外发现为零。.Xib文件的文件所有者设置为cell,.Xib文件中的UITableViewCell也设置为cell 代码: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文件的主
}您的内部视图未与文件所有者连接,因此请创建一个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
}