2016-08-01 23 views
0

Wie soll ich die Situation von NSViewController und NSImageView im gleichen Projekt erben? Vielen Dank!Vererbung von NSViewController und NSImageView (Swift)

+0

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

+0

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 ... –

+0

Zusammensetzung über Vererbung – Abizern

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.