在我的iOS項目中,我創建了一個名爲「的XMLElement」協議,我對這個協議的方法的問題,它必須返回我的方案的一個實例:協議方式自引用
@protocol XMLElement <NSObject>
-(XMLElement *) GetParent;
@end
的方法GetParent返回是XMLElement協議實現的父元素。
但是這不會編譯!
必須必須返回ID對象?別無退路 ?
在我的iOS項目中,我創建了一個名爲「的XMLElement」協議,我對這個協議的方法的問題,它必須返回我的方案的一個實例:協議方式自引用
@protocol XMLElement <NSObject>
-(XMLElement *) GetParent;
@end
的方法GetParent返回是XMLElement協議實現的父元素。
但是這不會編譯!
必須必須返回ID對象?別無退路 ?
的XMLElement是一個協議,所以你需要
@protocol XMLElement <NSObject>
-(id <XMLElement>) GetParent;
@end
不相關的問題:它是非典型的有一個方法的名稱以大寫字母開頭。它應該是getParent
而不是GetParent
。
協議是沒有類型它自己的,所以你需要寫:
- (id<XMLElement>) getParent;
(我建議你堅持了公約,並開始用小寫字母的方法)
謝謝你的回答! – TheFrancisOne
約定還建議你省略'get'。 –
感謝對此事發表評論,偉大的答案! – TheFrancisOne