2013-05-23 8 views
1

Я пытаюсь определить метод протокола без добавления параметров, но не смог найти правильный синтаксис.Определение протоколов без параметров

Вот определение (он имеет синтаксическую ошибку)

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

Я не хочу, чтобы передать какое-либо значение со вторым параметром. Моя цель - только сообщить, что что-то случилось с экземпляром делегата.

Как написать определение?

ответ

1
- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay; 
+0

Спасибо! :) Я думаю, что у меня будут проблемы с привыканием к синтаксису Objective-C в течение длительного времени. –

+0

Именование может быть жестким. Это может быть даже - (void) didCaptureImageWithCameraOverlayView: (CameraOverlayView *) aCameraOverlayView; – uchuugaka

+0

@uchuugaka 1. Нет, это просто, 2. Нет, он не мог, посмотрел соглашения об именах какао. –

-3

Это проблема соглашения Objective-C. Вы можете переписать его как:

- (void)cameraOverlayView:(CameraOverlayView *)cameraOverlayViewDidTakePhoto; 
+0

Довольно скрученный подход ... –

3

Ваших вторая часть методы не отформатирована правильно:

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

Из-за пространства, он ожидает параметр. Вместо этого, работать didTakePhoto часть в имени метода, как:

- (void)cameraOverlayViewDidTakePhoto:(CameraOverlayView *)cameraOverlay; 
1

в основном в цель с вы не можете иметь название метода частей оборванных после параметров ... так:

незаконным:

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

нормально:

-(void)methodForMyMomWithInt:(int)theInt; 

легальна, но странно

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

с селектором: @selector (метод: :)

Смежные вопросы