Как подбирать в другом драйвере, который я закончил записывать с AVAudioRecorder?

У меня есть осуществленные методы, относящиеся к аудио в драйвере, который я назвал ему SonidoController.

Внутри этого у меня есть метод:

- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)aRecorder successfully:(BOOL)flag { NSLog (@"Fin grabación"); }

Когда я заканчиваю записывать аудио, этот метод назван благодаря "Делегату" AVAudioRecorderDelegate.

Проблема, которая у меня есть, состоит в том, что я хочу с главного метода знать, когда он закончился записывать, и не с драйвера.

Другой делегат мог бы делать это с "Completion" вместо того, чтобы создавать?

0
задан 28.12.2016, 11:51
0 ответов

У этого вопроса есть несколько возможных ответов...

У тебя мог бы быть один SonidoControllerDelegate, что "главный метод" (не очень хорошо, к чему относится это выражение в вопросе) это осуществил, и с осуществления -audioRecorderDidFinishRecording:successfully: в SonidoController будьте сообщен в Ваш уполномочь тебя.

Другой выбор - что init SonidoController имейте добавочный параметр типа ACAudioRecorderDelegate, и был использован этот уполномочь тебя, когда он поверит AVAudioRecorder вместо того, чтобы использовать self. Таким образом, осуществление -audioRecorderDidFinishRecording:successfully: смоги быть в вызывающем SonidoController.

Третий выбор состоит в том, чтобы использовать извещения, и стрелять в особенное извещение с -audioRecorderDidFinishRecording:successfully: в SonidoController.

Который из этих выборов лучшая, зависит от архитектуры приложения...

2
ответ дан 03.12.2019, 17:58
  • 1
    Как главный метод передавал меня к Main (главный трэд), который называет другие mé все необходимых классов. Спасибо за твой ответ! –  28.12.2016, 10:53
  • 2
    Alfinal я смог осуществить это в вызывающем SonidoController! Спасибо снова –  28.12.2016, 14:05