我试图在不添加参数的情况下定义协议方法,但找不到正确的语法。
这是定义(它有语法错误)
- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlay didTakePhoto;
我不想用第二个参数传递任何值。我的目的只是发出委托实例发生的事情。
我该如何写定义?
答案 0 :(得分:3)
您的方法的第二部分格式不正确:
- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlay didTakePhoto;
由于空间的原因,它需要一个参数。相反,将didTakePhoto
部分放入方法名称中,例如:
- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay;
答案 1 :(得分:1)
- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay;
答案 2 :(得分:1)
基本上在目标c中你不能有参数悬挂的方法名称部分... 这样:
非法:
-(void)methodWith:(int)theInt forMyMom;
正常:
-(void)methodForMyMomWithInt:(int)theInt;
合法但很奇怪
-(void)method:(int)theInt :(int)theOtherInt;
使用选择器:@selector(method ::)
答案 3 :(得分:-3)
这是Objective-C惯例的问题。您可以将其重写为:
- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlayViewDidTakePhoto;