2010-04-20 78 views
20

將協議指定爲方法中參數的ObjectiveC語法是什麼?用於在方法論證中指定協議名稱的ObjectiveC語法參數

說我有2個協議,MyProtocol和MyProtocolCB:

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

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

我收到這個語法錯誤: error: expected type-specifier before 'MyProtocolCB'

回答

49

嘗試:

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

您也可以使用更通用的' id '而不是'NSObject *',特別是如果'MyProtocol'已經擴展了'NSObject'協議 – SergGr 2010-04-20 15:03:28

+0

@iPhone初學者:不完全一樣。 NSObject類中的一些方法不在NSObject協議中 – user102008 2011-08-01 23:25:47

相關問題