我是iOS开发的初学者,我正在关注如何删除集合视图中的项目的视频教程。我在集合视图单元格中有这个代码:
class CollectionViewCell: UICollectionViewCell {
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var selectionImage: UIImageView!
var isEditing: Bool = false {
didSet {
selectionImage.isHidden = !isEditing
}
}
override var isSelected: Bool {
didSet {
if isEditing {
selectionImage.image = isSelected ? UIImage(named: "Checked") : UIImage(named: "Unchecked")
}
}
}
}
我完全不理解这段代码
isSelected ? UIImage(named: "Checked") : UIImage(named: "Unchecked")
它似乎是一个可选项,但它中间也有冒号。叫什么?我想先部分了解这段代码。
提前致谢
答案 0 :(得分:2)
这称为ternary conditional operator
。这是语法糖。 ?
之前的部分是条件。如果条件为真,则评估:
之前的语句,否则评估:
之后的语句。
它存在的原因是为了提高可读性和简化代码。
详细了解here
答案 1 :(得分:0)
这是
的单行if isSelected == true {
UIImage(named: "Checked")
}else{
UIImage(named: "Unchecked")
}