2012-01-05 2 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]; 
} 

Убедитесь, что ваш avViewController (или что вы хотите передать) соответствует протоколу AVCaptureVideoDataOutputSampleBufferDelegate.

+0

Спасибо! Поэтому в MyAVViewController.h я добавляю: id делегат; – Jack