自定义UITableViewCell仅在两个创建的类之一上没有初始化程序错误。迅速

时间:2019-03-31 13:18:31

标签: swift uitableview

我正在为项目添加一个新的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
    }

}

我确实忽略了这一点,但我找不到它。 我应该检查什么?

1 个答案:

答案 0 :(得分:1)

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