我正在使用故事板,我具有自定义的tableviewcell类。我将故事板中的商店拖到了tableviewcell。在这种情况下,我为此类组件添加了边角和颜色。但是我收到此错误致命错误:在展开可选值时意外发现nil 。如何解决
我在tableviewcell类中的代码是
import UIKit
class detailsTableViewCell: UITableViewCell {
@IBOutlet weak var chargesTableViewCellView: UIView!
@IBOutlet weak var typeLbl: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
chargesTableViewCellView.layer.borderColor = UIColor(red: 0.10, green: 0.39, blue: 0.65, alpha: 1.0).cgColor // Here I'm getting error
chargesTableViewCellView.layer.borderWidth = 2.0
chargesTableViewCellView.layer.cornerRadius = 10.0
}
答案 0 :(得分:1)
我认为您在单个自定义类中使用了不止一个单元,因此您需要添加带有重复使用标识符的支票:
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
// "identifier" is a cell identifier so please change this identifier with your cell identifier witch is used this outlet
if self.reuseIdentifier == "identifier" {
chargesTableViewCellView.layer.borderColor = UIColor(red: 0.10, green: 0.39, blue: 0.65, alpha: 1.0).cgColor // Here I'm getting error
}
chargesTableViewCellView.layer.borderColor = UIColor(red: 0.10, green: 0.39, blue: 0.65, alpha: 1.0).cgColor // Here I'm getting error
chargesTableViewCellView.layer.borderWidth = 2.0
chargesTableViewCellView.layer.cornerRadius = 10.0
}
您需要添加reuseIdentifier
的支票,其中包含该出口的单元格。这将为您工作。
答案 1 :(得分:0)
您可以像这样为自定义视图创建一个类
import UIKit
class CornerView: UIView {
func setup() {
self.layer.borderColor = UIColor(red: 0.10, green: 0.39, blue: 0.65, alpha: 1.0).cgColor
self.layer.borderWidth = 2.0
self.layer.cornerRadius = 10.0
}
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
}
然后您可以从自定义类继承
@IBOutlet weak var chargesTableViewCellView: CornerView!
注意:确保故事板中的单元格标识符在ViewController中相同
答案 2 :(得分:0)
转到“界面生成器”,然后删除所有对该文件的引用。选择情节提要容器,然后在“界面生成器”中单击最右边的按钮。您将在其中找到参考文献列表。为每个按钮单击(x)。
然后重新连接。
如果您更改名称,复制粘贴或在情节提要中的内容周围移动,有时引用会混合在一起。在Xcode上看起来都不错,但是引用的id
s不匹配。