Zugriff auf die static
-Protokollmethode innerhalb einer Instanz
Ich habe eine Liste von Contact
, der Kontakt kann ein FamilyContact
sein, der von Contact
und dem GroupStatus protocol
Ich möchte die statische Methode von GroupStatus
aufrufen, aber vergebens ...
Hier ist mein Code
%Vor% Ich kann Contact.Type does not have a member named 'isPrivate'
Wie kann ich es nennen? Es funktioniert, wenn ich das static
Schlüsselwort lösche, aber ich denke, es ist logischer, es statisch zu definieren.
Wenn ich
ersetze %Vor%von
%Vor%Es funktioniert, aber ich kann mehr als 1 Unterklassen haben
Wenn ich die static
keywork entferne, kann ich das auf folgende Weise tun:
Aber ich möchte das static
Schlüsselwort
Dies sieht wie ein Fehler oder eine nicht unterstützte Funktion aus. Das würde ich erwarten Folgendes funktioniert:
%Vor%Es kompiliert jedoch nicht:
%Vor% Es funktioniert mit FamilyContact.Type
anstatt mit GroupStatus.Type
. Ein ähnliches Problem wird hier gemeldet:
% ce_de% ist eine Instanzmethode anstelle einer Klassenmethode die einzige Problemumgehung, an die ich derzeit denken kann, vielleicht kommt jemand mit einer besseren Lösung ...
Update für Swift 2 / Xcode 7: Wie @Tankista unten bemerkt, hat dies wurde behoben. Der obige Code kompiliert und funktioniert wie erwartet in Xcode 7 Beta 3.