定义不带参数的协议

时间:2013-05-23 07:07:17

标签: objective-c objective-c-protocol

我试图在不添加参数的情况下定义协议方法,但找不到正确的语法。

这是定义(它有语法错误)

- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlay didTakePhoto;

我不想用第二个参数传递任何值。我的目的只是发出委托实例发生的事情。

我该如何写定义?

4 个答案:

答案 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;