12
我創建了一個協議,並將其分配給沒有實現的委託方法導致崩潰
@protocol AppBrainDelegate <NSObject>
@optional
- (void)didLocateUser;
- (void)didFinishLoadingDataWithData:(NSDictionary *)fetchedData;
@end
@interface Brain : NSObject
@property (strong, nonatomic) id <AppBrainDelegate> delegate;
我認爲這@optional在協議中聲明的含義是指一個委託對象,該控制器沒有聽如果他們不想要的話,可以使用委託方法。
這裏是崩潰日誌,如果不在控制器中實現第一個委託方法。如果我這樣做,我不會崩潰。似乎我不明白將委託方法聲明爲可選的概念。你能向我解釋我的錯誤在哪裏嗎?
*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: ' - [EventViewController didLocateUser]:無法識別的選擇發送到實例0x1fb300'
謝謝!這做了蜱! – MrBr
有這個完全相同的問題。謝謝你的提示。我也覺得@optional聲明不僅僅是壓制編譯器警告。 – Tander