2010-04-20 31 views
20

Cú pháp ObjectiveC để chỉ định giao thức làm đối số trong phương thức là gì?Cú pháp mục tiêu để chỉ định tên giao thức trong đối số phương pháp

Nói rằng tôi có 2 giao thức, MyProtocol và MyProtocolCB:

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

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

Tôi nhận được lỗi cú pháp này: error: expected type-specifier before 'MyProtocolCB'

Trả lời

49

Hãy thử:

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

Bạn cũng có thể sử dụng chung chung hơn ' id 'thay vì' NSObject * ', đặc biệt nếu' MyProtocol' đã mở rộng giao thức 'NSObject' – SergGr

+0

@iPhone mới bắt đầu: nó không chính xác như nhau. một số phương thức trong lớp NSObject không có trong giao thức NSObject – user102008

Các vấn đề liên quan