25
我知道我需要寫:如何驗證委託人是否響應選擇器?
[delegate respondsToSelector:@selector(myMethod:)]
但編譯器抱怨respondsToSelector不在協議,這是正確的方法,但是我見過很多示例代碼使用這個,你怎麼辦呢?
我知道我需要寫:如何驗證委託人是否響應選擇器?
[delegate respondsToSelector:@selector(myMethod:)]
但編譯器抱怨respondsToSelector不在協議,這是正確的方法,但是我見過很多示例代碼使用這個,你怎麼辦呢?
你@protocol
需要實現<NSObject>
,只需更新協議定義是這樣的:
@protocol MyProtocol <NSObject>
Greg Martin有你的答案,但這裏是快速解釋爲什麼編譯器會抱怨:
的respondsToSelector:
方法是NSObject
協議的一部分,所以當您嘗試發送郵件到您的deleate(中鍵入id
),編譯器無法知道您的委託可能能夠處理它。
我可能會做一些錯誤,但是當我加入編譯器會抱怨,沒有類型可能接口之前指定 –
2010-02-10 18:24:31
你能提供你的代碼嗎?必須是語法問題。 – 2010-02-10 18:39:39
我得到它的工作我試圖在協議聲明中執行而不是正式定義,它現在正在工作。謝謝。 –
2010-02-10 18:53:49