1

パラメータを追加せずにプロトコル メソッドを定義しようとしていますが、正しい構文が見つかりませんでした。

定義は次のとおりです (構文エラーがあります)。

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

2 番目のパラメーターで値を渡したくありません。私の目的は、デリゲート インスタンスに何かが起こったことを知らせることだけです。

定義はどう書けばいいですか?

4

4 に答える 4

3

メソッドの 2 番目の部分が正しくフォーマットされていません。

- (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 に答える
-3

これは、Objective-C 規約の問題です。次のように書き換えることができます。

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