swift - 无法以编程方式设置 UITableView 单元 - 线程 1:EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
问题描述
我正在尝试使用自动布局以编程方式设置我的 UITableView 单元格,但它一直在崩溃,我不确定为什么会这样。请问有人可以建议吗?
我正在尝试使用自动布局以编程方式设置我的 UITableView 单元格,但它一直在崩溃,我不确定为什么会这样。请问有人可以建议吗?
class FolderCell: UITableViewCell{
var jTitle: UILabel = {
let label = UILabel()
label.font = UIFont.italicSystemFont(ofSize: 12)
label.textColor = UIColor.gray
return label
}()
var date: UILabel = {
let label = UILabel()
label.font = UIFont.italicSystemFont(ofSize: 12)
label.textColor = UIColor.gray
return label
}()
var aTitle: UILabel {
let label = UILabel()
label.font = UIFont.boldSystemFont(ofSize: 15)
label.textColor = UIColor.gray
return label
}
var authors: UILabel = {
let label = UILabel()
label.font = UIFont.italicSystemFont(ofSize: 12)
label.textColor = UIColor.gray
return label
}()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
cellSetup()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func cellSetup(){
contentView.addSubview(jTitle)
contentView.addSubview(aTitle)
contentView.addSubview(date)
contentView.addSubview(authors)
setUpLabels()
}
private func setUpLabels(){
jTitle.translatesAutoresizingMaskIntoConstraints = false
jTitle.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 10).isActive = true
jTitle.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 10).isActive = true
jTitle.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -10).isActive = true
aTitle.translatesAutoresizingMaskIntoConstraints = false
aTitle.topAnchor.constraint(equalTo: jTitle.bottomAnchor, constant: 10).isActive = true
aTitle.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 10).isActive = true
aTitle.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -10).isActive = true
}
}
我遇到以下崩溃:
解决方案
看起来您没有启动 aTitle 标签。在使用它之前尝试启动它。
var aTitle: UILabel = {
let label = UILabel()
label.font = UIFont.boldSystemFont(ofSize: 15)
label.textColor = UIColor.gray
return label
}()
推荐阅读
- reactjs - 如果我尝试在 webpack 模式下运行:为什么我无法正确获取 Material-ui 样式:React.js 中的“生产”?
- android - 为 textColor edittext 禁用暗模式
- java - Java中带计数器的一系列字符串操作操作
- android - 加载位图图像时回收器视图滚动滞后
- python - 如何打印对象内容而不是它们的内存位置?
- python - 将列表值分配给参数
- mysql - Mysql自动日期字段,语法错误
- google-bigquery - 使用带有字符串谓词的逻辑视图透明地受益于字符串分区
- azure-devops - Azure DevOps Pre 和 Post 部署脚本随机运行
- web-scraping - Scrapy请求未通过