Meine Idee ist sehr ähnlich, eine Variable eines Interface-Typs in Java zu deklarieren.
Also zum Beispiel
Header-Datei 1:
%Vor% Ich definiere dann ein @interface CalculatorImpl
welches das obige Calculator
Protokoll implementiert.
In Header-Datei 2:
%Vor%Der xcode markiert jedoch einen Fehler in der Rechnerzeile
%Vor%Ist diese Verwendung des Protokolls von objective-c nicht erlaubt?
A @protocol
ist kein Typ, Sie können ihn daher nicht für den Typ von @property
verwenden.
Was Sie wahrscheinlich stattdessen tun möchten, ist dies:
%Vor% Dies deklariert eine Eigenschaft ohne Einschränkung für ihren Typ, außer dass sie dem Calculator
-Protokoll entspricht.
Sie sollten
verwenden %Vor% In Objective-C können Sie ein Protokoll nicht instanziieren, Sie können es nur anpassen. Anstatt also ein Objekt vom Typ Calculator
zu verwenden, sollten Sie ein generisches Objekt haben, das dem Calculator
Protokoll entspricht.
Ansonsten können Sie
verwenden %Vor% seit CalculatorImpl
ist eine Schnittstelle, kein Protokoll.
Tags und Links objective-c