【发布时间】:2023-03-15 10:09:01
【问题描述】:
我创建了一个协议并将其分配给一个委托对象
@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”
【问题讨论】:
标签: ios objective-c delegates