Je suis en train de faire un protocole dans une classe UITableViewCell
mais quand je déclare mon délégué, je reçois une erreur dans les deux required init?(coder aDecoder: NSCoder)
et override init(style: UITableViewCellStyle, reuseIdentifier: String?)
Propriété « self.delegate » non initialisées à super.init
Erreur: - Property 'self.delegate' not initialised at super.init
Ceci est mon sous-classe: -
import UIKit
protocol tableCellBtnActionDelegate{
func removeRowAtIndex(_: Int)
}
class FriendsListTableViewCell: UITableViewCell {
@IBOutlet weak var friendListAddBtn: UIButton!
var usersId : String!
var buttonText : String!
var indexPath : Int!
let delegate : tableCellBtnActionDelegate!
override func awakeFromNib() {
super.awakeFromNib()
friendListAddBtn.layer.cornerRadius = 4
friendListAddBtn.layer.backgroundColor = UIColor(red: 121.0/255.0, green: 220.0/255.0, blue: 1, alpha: 1).CGColor
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
}
Vous * peut * définir une valeur à un 'let' + implicitement déballés en option : dans un init. OP ne le fait pas. – Moritz
@EricD ty pour commenter, il rend la réponse plus complète; Je ne crois tout simplement pas qu'il veut mettre un délégué dans init –
Mettez à jour votre réponse, pour éviter les votes négatifs! –