2012年2月8日 星期三

近日新學到的觀念:判斷delegate是否respondsToSelector

在實作delagate的時候為了判斷delagate是否實作該method需用respondsToSelector去偵測。
if (self.delegate && [self.delegate respondsToSelector:@selector(refreshState)]) {
    [self.delegate refreshState];
}
但總是出現warning: method '-respondsToSelector:' not found (return type defaults to 'id')
後來看了這篇找到解法。
原來在protocol裡面要conform NSObject!
如果自己在delegate實作裡去用[self respondsToSelector:sel]會錯XD


沒有留言:

張貼留言