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