自定义 UITableViewCell 仅在两个创建的类中的一个上没有初始化器错误.迅速



我正在向项目添加新TableVIew,并且我还在cell上创建自定义类。我像往常一样做:新文件/可可触摸类/UITableViewCell/名称。一旦我开始添加属性,我就会收到错误面团属性被声明为!。它不会发生在我的其他自定义单元格类上。你能看到我对这个新班级做错了什么吗?

此类没有错误:

import UIKit
class CalendarTableViewCell: UITableViewCell {
    @IBOutlet weak var dayLabel: UILabel!
    var cellId: String!
    var cellWeekday: Int!
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }
    override func prepareForReuse() {
        super.prepareForReuse()
        // Set your default background color, title color etc
    }
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        // Configure the view for the selected state
    }
} 

以及让 xCode 抱怨的新类:

import UIKit
class ProductTableViewCell: UITableViewCell {
    @IBOutlet weak var productImageView: UIImageView!
    @IBOutlet weak var productIDLabel: UILabel!
    @IBOutlet weak var productIDInfoLabel: UILabel!
    @IBOutlet weak var categoryLabel: UILabel!
    @IBOutlet weak var categoryInfoLabel: UILabel!
    @IBOutlet weak var nameLabel: UILabel!
    @IBOutlet weak var nameInfoLabel: UILabel!
    @IBOutlet weak var priceLabel: UILabel!
    @IBOutlet weak var priceInfoLabel: UILabel!
    @IBOutlet weak var quantityLabel: UILabel!
    @IBOutlet weak var quantityInfoLabel: UILabel!

    var productImage: UIImage!
    var category: String!
    var productId: String!
    var name: String!
    var price: String
    var vendor: String!

    var cellId: Int64

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        // Configure the view for the selected state
    }
}

这是我肯定忽略的东西,但我无法发现它。我应该检查什么?

您的var cellId: Int64未初始化。在第一个单元格中,您明确指定在使用感叹号之前将对其进行初始化,但在第二个单元格中则不然。

最新更新