Super.init nicht aufgerufen wird, bevor der Rückkehr aus dem Initialisierer
Ich versuchen, meine UITableViewCell Klasse eine benutzerdefinierte initilizer aber ich kann nicht herausfinden, was ich falsch mache.
Hier ist mein Code:
init(dataObject: [NSManagedObject]!, objectAttributeValues: [String]!,placeholder: String!, segmentedControl: UISegmentedControl?, cellHeight: CGRect, cellWidth: CGRect) {
self.dataObject = dataObject
self.Placeholder.text = placeholder
self.objectAttributeValues = objectAttributeValues
if segmentedControl != nil {
self.segmentedControl = segmentedControl!
didHaveSegmentedControl = true
}
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
Ich versuchte zu rufen super.init(Rahmen: CGRect (...)), aber durch die Umsetzung dieses bekomme ich eine andere Fehlermeldung: aufrufen Muss einen designierten Initialisierer der Oberklasse 'UITableViewCell'
Was kann ich tun?
Vielen Dank!
InformationsquelleAutor Tom Kuschka | 2015-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Weg initialisers arbeiten, werden Sie fügen Sie Ihre eigenen Eigenschaften, Konstanten und Funktionen, die Instanz, die rufen dann zurück zu der Oberklasse, die für ein Objekt dieser Art ist. Mehr info hier.
Aus diesem Grund müssen Sie eine Superklasse' initialiser vor dem verlassen der initialiser. Hier schlage ich vor, Sie rufen
super.init()
auf die Letzte Zeile der initialiser. Sie können wählen, welche derinit
Methoden aufUITableViewCell
am besten geeignet ist.Müssen Sie rufen Sie eine der anderen initialisers, je nachdem, was Sie tun möchten. Überprüfen Sie die AutoVervollständigen für mehr.
InformationsquelleAutor vrwim
Ich hoffe, dies wird Ihnen helfen, Überschreiben Sie die init-Methode von UIView in swift
InformationsquelleAutor Mir Ashraf