1
私はカスタムUITableViewCellを持っており、私はそれを私のテーブルビューで使用したいと思います。ここでは、セルのための私のコードは次のとおりです。UITableViewCellでカスタムイニシャライザを使用するにはどうすればよいですか?
class ReflectionCell: UITableViewCell {
@IBOutlet weak var header: UILabel!
@IBOutlet weak var content: UILabel!
@IBOutlet weak var author: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
init(data: Reflection) {
self.header.text = data.title
self.content.text = data.content
self.author.text = data.author.name
super.init(style: UITableViewCellStyle.default, reuseIdentifier: "reflectionCell")
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
私は私が、細胞を初期化したいモデルクラスReflection
を持っています。しかし、私のビューコントローラでは、私はtableView.dequeueReusableCell(withIdentifier: "reflectionCell", for: indexPath)
を使用する必要があります。私が作ったようなカスタムイニシャライザを使う方法はありますか?
TableViewCellあなたがそれをしない、再利用されます。あなたができることは、 'updateWith(data:Reflection)'メソッドを作成し、ラベルの値を設定するか、 'var data:Reflection'を設定し、' didSet'にラベルの値を設定することです。 – Larme