21 Stimmen

ObjectiveC-Syntax für die Angabe des Protokollnamens im Methodenargument

Wie lautet die ObjectiveC-Syntax für die Angabe eines Protokolls als Argument in einer Methode?

Angenommen, ich habe 2 Protokolle, MyProtocol und MyProtocolCB:

@protocol MyProtocolCB <NSObject>
- (void) func;
@end

@protocol MyProtocol <NSObject>
- (void) register:(MyProtocolCB*) cb;
@end

Ich erhalte diesen Syntaxfehler: error: expected type-specifier before 'MyProtocolCB'

51voto

Vladimir Punkte 169002

Versuchen Sie es:

- (void) register:(NSObject<MyProtocol>*) cb;

0voto

Verwenden. id anstelle von NSObject wie Sie bereits wissen id ist die instance Typ oder generischer Typ, wenn Sie also id verwenden, wird es Ihnen in großer Perspektive helfen.

- (void) register:(id<MyProtocol>*) sender;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X