Bu kodun here ve here çalıştığı bildirildi, ancak çalışmayı göze alamıyorum.'gerekli' başlatıcı 'init (kodlayıcı :)' 'UITableViewCell' 'alt sınıfı tarafından sağlanmış olmalıdır
IBOutlets, hikaye panosundaki nesnelerine bağlanır. Bu prototypeCell ismini kullanarak dequeueReusableCellWithIdentifier
ile kullanabilir ve özel sınıf özniteliği commentCell
olarak ayarlanmıştır.
İlk Hatası (I çözebilir ki, ancak bağlantıların ne yukarıda beni yanlış bir şey yapıyorum düşündürüyor gerekli Haklı mıyım.?):
Overriding method with selector 'initWithStyle:reuseIdentifier:' has incompatible type '(UITableViewCellStyle, String) -> commentCell'
İkinci Hatası (ilginç hatası):
'required' initializer 'init(coder:)' must be provided by subclass of 'UITableViewCell'`
Hücre Sınıfı kodu:
class commentCell: UITableViewCell {
@IBOutlet weak var authorLabel: UILabel!
@IBOutlet weak var commentLabel: UITextView!
init(style: UITableViewCellStyle, reuseIdentifier: String) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
Başlatma kodu:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
println(comments[indexPath.row])
var cell = self.tableView.dequeueReusableCellWithIdentifier("prototypeCell") as commentCell
cell.commentLabel.text = comments[indexPath.row]["comment"] as NSString
cell.authorLabel.text = comments[indexPath.row]["fromid"] as NSString
return cell
}
Herhangi bir tahmin? – User
O halde neden init (kodlayıcı) yönteminde authorLabel için varsayılan bir metin kurarsınız? Bunu yapmak çalışırsanız, ben ("önemli bir hatayla: İsteğe Bağlı değerini unwrapping ederken beklenmedik nil bulundu") istisna olsun. Bu süper tarafından başlatılması için gitmiyor ve henüz storyboard alınan değil, sanırım. Peki, nerede ve nasıl yapmalıyım? – Maiaux
Şimdi anlıyorum. AwakeFromNib içinde yapılmalıdır. Eğer belirlenmiş bir başlatıcı geçersiz kılmaz – Maiaux