Wie soll ich die Situation von NSViewController und NSImageView im gleichen Projekt erben? Vielen Dank!Vererbung von NSViewController und NSImageView (Swift)
0
A
Antwort
0
Weder Swift noch Objective-C unterstützen Mehrfachvererbung in der Art, wie Sie es zu benötigen scheinen. Das übliche Sprichwort ist Zusammensetzung über die Vererbung was bedeutet, dass anstatt eine Klasse von jeder Klasse zu erben, mit der es interagieren muss, könnten Sie Ihre Klasse aus Objekten zusammensetzen, die in der Lage sind, diese Interaktion zu behandeln.
Also lieber erben als von NSViewController
und NSImageView
Sie Ihre View-Controller-Unterklasse eine Eigenschaft haben, die ein Objekt, das eine NSImageView
Unterklasse ist, haben kann.
Ich bin mir nicht sicher, was Sie mit "In dem gleichen Projekt" meinen. Wenn Sie meinen, dass eine einzelne Klasse von NSViewController und NSImageView erben soll, können Sie dies nicht tun. Weder Swift noch Objective-C erlauben Mehrfachvererbung. – Abizern
Mit "im selben Projekt" meine ich, dass ich eine Klasse habe, die zum Beispiel von NSViewController, NSTextViewDelegate erbt und sie sollte auch von NSImageView erben. Das Hinzufügen der letzten Klasse zu meiner Liste von "Eltern" -Klassen erzeugt einen Fehler, da ich auch von NSViewController erben. Ich muss einige Funktionen überschreiben, die in der NSImageView Klasse enthalten sind, und, da ich keinen Delegierten für NSImageView habe, stecke ich fest ... –
Zusammensetzung über Vererbung – Abizern