views:

60

answers:

1

What's the ObjectiveC syntax for specifying a protocol as an argument in a method?

Say I have 2 protocols, MyProtocol and MyProtocolCB:

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

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

I'm receiving this syntax error: error: expected type-specifier before 'MyProtocolCB'

+7  A: 

Try:

- (void) register:(NSObject<MyProtocol>*) cb;
Vladimir
You also might use more generic `id<MyProtocol>` instead of `NSObject<MyProtocol>*`, especially if `MyProtocol` already extends `NSObject` protocol
iPhone beginner