Это, вероятно, какое-то заблуждение с моей стороны, но я не понимаю, почему это не работает.
Я создал подкласс UITableViewCell, например:
class MenuCell: UITableViewCell {
var mcImage: String
var mcLabel: String
init(mcImage: String, mcLabel: String) {
self.mcImage = mcImage
self.mcLabel = mcLabel
super.init(style: .default, reuseIdentifier: "reuseIdentifier")
setupView()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupView() {
let mcImageView = UIImageView()
let mcLabelView = UILabel()
mcImageView.image = UIImage(systemName: mcImage)
mcLabelView.text = mcLabel
// Rest of setup (font, colors, positions...)
addSubview(mcImageView)
addSubview(mcLabelView)
}}
If в моем ViewController я пишу:
var firstCell = MenuCell(mcImage: "plus.circle", mcLabel: "Some text")
Он создает объект и отлично работает, я могу получить доступ к своим свойствам объекта, но почему я не могу установить такое свойство:
firstCell.mcImage = "plus.circle" // This doesn't work
Он просто игнорирует меня, но я могу установить любое свойство UITableViewCell:
firstCell.accessoryType = .none // This works