3 farklı özel UITableViewCell
ile UITableView
oluşturmaya çalışıyorum. Hepsi, questionLabel
adı verilen UILabel
gibi bazı ortak öğeleri paylaşır. belirtildiği gibiÖzel UITableViewCell nasıl sınıflandırılır?
Ben hücreleri
OneTextFieldTableViewCell
TwoLabelTableViewCell
ThreeLabelTableViewCell
Ben bu hücreler questionLabel
gibi ortak UI öğeleri paylaşan bir FormTableViewCell
devralmak istediğiniz üç tip var yukarıdaki.
Kodu:
class OneTextFieldTableViewCell: FormItemTableViewCell {
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var answerTextField: UITextField!
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
}
}
FormItemTableViewCell
class FormItemTableViewCell: UITableViewCell {
@IBOutlet weak var questionLabel: UILabel!
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
}
}
Ben hatalar alıyorum:
Cannot override with a stored property 'questionLabel'
Getter for 'questionLabel' with Objective-C selector 'questionLabel' conflicts with getter for 'questionLabel' from superclass 'FormItemTableViewCell' with the same Objective-C selector
Setter for 'questionLabel' with Objective-C selector 'setQuestionLabel:' conflicts with setter for 'questionLabel' from superclass 'FormItemTableViewCell' with the same Objective-C selector
Değişken sorgunuzLabel, süper sınıfınızda zaten tanımlıdır. Tekrar bahsetmeye gerek yok. Bütün bu kalıtım noktası. Alt sınıflarınız süper sınıflarının değişkenlerini miras alır. – user965972
@ user965972 cevabı ekleyebilmeniz için doğru olan – Paulw11
@ user965972 gibi görünüyor. Bir cevap eklerseniz, kabul edeceğim. Temel olarak alt sınıflara ekledim çünkü IBOutlets'i süper sınıfa bağlayabileceğinizi anlayamadım :). – Alan