1

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

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

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

我不想使用第二个参数传递任何值。我的目的只是表明委托实例发生了一些事情。

我应该如何写定义?

4

4 回答 4

3

您的方法的第二部分格式不正确:

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

由于空间的原因,它需要一个参数。相反,将该didTakePhoto部分放入方法名称中,例如:

- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay;
于 2013-05-23T07:12:35.340 回答
1

基本上在目标c中,您不能在参数之后悬挂方法名称部分......所以:

非法的:

-(void)methodWith:(int)theInt forMyMom;

普通的:

-(void)methodForMyMomWithInt:(int)theInt;

合法但奇怪

-(void)method:(int)theInt :(int)theOtherInt;

使用选择器:@selector(method::)

于 2013-05-23T07:24:19.300 回答
1
- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay;
于 2013-05-23T07:09:51.130 回答
-3

这是Objective-C约定的问题。您可以将其重写为:

- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlayViewDidTakePhoto;
于 2013-05-23T07:12:03.907 回答