2012-01-05 6 views
0

ビデオ入力と出力を設定するヘルパーメソッドがあります。ヘルパーメソッドの中で私はデリゲートを設定する必要がありますが、呼び出し側クラスにデリゲートメソッドを持つ方が好きです。私の現在のコード行は:デリゲートを呼び出しクラスとして設定する

[captureOutput setSampleBufferDelegate:self queue:queue]; 

私はどのように呼び出し元クラスMyAVViewControllerをデリゲートとして指定しますか?

ありがとうございます!

答えて

1

あなたが代理人として渡すことができますあなたのMyAVViewController、のインスタンスを持っている必要があります:

[captureOutput setSampleBufferDelegate:avViewController queue:queue]; 

あなたはこれを達成するためにあなたのヘルパーメソッドのパラメータとしてごavViewControllerに合格する必要があります:

- (void)helperMethodWithDelegate:(id<AVCaptureVideoDataOutputSampleBufferDelegate>)delegate 
{ 
    // do stuff 
    [captureOutput setSampleBufferDelegate:delegate queue:queue]; 
} 

AVCaptureVideoDataOutputSampleBufferDelegateプロトコルに準拠しているavViewController(または、渡すことを選択したもの)を確認してください。

+0

ありがとうございます!したがって、MyAVViewController.hでは、次のように追加します。id delegate; – Jack

関連する問題