Ich versuche, ein Protokoll in einer UITableViewCell
Klasse zu machen, aber wenn ich meine Delegierten erklären, bekomme ich einen Fehler in beiden required init?(coder aDecoder: NSCoder)
und override init(style: UITableViewCellStyle, reuseIdentifier: String?)
Property ‚self.delegate‘ nicht auf super.init initialisiert
Fehler: - Property 'self.delegate' not initialised at super.init
Dies ist meine Unterklasse: -
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)
}
}
Sie * kann * auf einen Wert zu einem 'let' + implizit ungeöffneten optional : in einer Init. OP macht es einfach nicht. – Moritz
@EricD ty für den Kommentar, es macht die Antwort mehr voll; Ich glaube nur nicht, dass er Delegierte in init setzen möchte –
Aktualisieren Sie Ihre Antwort, um negative Stimmen zu verhindern! –