Return to Video

What is a Delegate - Intro to iOS App Development with Swift

  • 0:00 - 0:04
    Uma resposta comum que ouvimos dos nossos alunos é que a palavra Delegate
  • 0:04 - 0:08
    os faz pensar sobre a relação entre um chefe e um empregado.
  • 0:08 - 0:11
    Talvez você já tenha estado em uma situação em que seu chefe tenha delegado algum trabalho para
  • 0:11 - 0:12
    você ou tenha te dado algum trabalho.
  • 0:12 - 0:15
    A ideia de delegar trabalho é semelhante em iOS,
  • 0:15 - 0:20
    aqui você pode pensar no AVAudioRecorder como um chefe.
  • 0:20 - 0:21
    Ele sabe como gravar áudio.
  • 0:21 - 0:25
    E também sabe quando a gravação terminou e está pronta para reprodução.
  • 0:25 - 0:28
    Na verdade, se você olhar detalhadamente no código AVAudioRecorder, encontrará
  • 0:28 - 0:32
    uma função chamada audioRecorderDidFinishRecording.
  • 0:32 - 0:35
    Essa é a função que é chamada quando a gravação é concluída.
  • 0:35 - 0:39
    Agora, honestamente, esse parece ser um método que poderia ser usado na nossa classe.
  • 0:39 - 0:41
    RecordSoundsViewController.
  • 0:41 - 0:45
    Você se lembra da situação em que o usuário grava uma
  • 0:45 - 0:47
    conversa de cinco minutos com um amigo no aplicativo?
  • 0:47 - 0:49
    Se, de alguma forma, tivéssemos acesso a esse método,
  • 0:49 - 0:52
    ele poderia nos dizer exatamente quando o áudio terminou de ser gravado com sucesso,
  • 0:52 - 0:56
    para que pudéssemos fazer coisas com esse áudio, por exemplo, reproduzi-lo.
  • 0:56 - 1:01
    Então, por que a AVAudioRecorder não diz simplesmente para nossa classe que, ei.
  • 1:01 - 1:02
    O áudio foi gravado com sucesso.
  • 1:02 - 1:07
    Bem, uma razão para isso é que escrevemos a nossa classe hoje.
  • 1:07 - 1:11
    E essa classe, AVAudioRecorder, foi escrita por um engenheiro da Apple anos atrás.
  • 1:11 - 1:13
    No momento em que ele escreveu essa classe,
  • 1:13 - 1:16
    ele não tinha a menor ideia de que estaríamos escrevendo a nossa classe.
  • 1:16 - 1:18
    E que a chamaríamos de RecordSoundsViewController.
  • 1:18 - 1:20
    Uma maneira que a Apple escolheu para resolver esse problema
  • 1:20 - 1:25
    foi delegando a implementação de métodos como este a classes como a nossa.
  • 1:25 - 1:30
    Nossa classe RecordSoundsViewController pode se beneficiar com esse método,
  • 1:30 - 1:33
    se nos tornarmos delegados da AVAudioRecorder.
  • 1:33 - 1:35
    Então, para fazer essa relação chefe-funcionário ou
  • 1:35 - 1:39
    delegatória funcionar no nosso código, temos que fazer duas coisas.
  • 1:39 - 1:43
    A primeira é mudar a definição de
  • 1:43 - 1:47
    RecordSoundsViewController, adicionando isso, AVAudioRecorderDelegate a ela.
  • 1:47 - 1:50
    A segunda é, em algum lugar da nossa classe,
  • 1:50 - 1:54
    escrever esta linha de código: audioRecorder.delegate = self.
  • 1:54 - 1:57
    Self aqui significa RecordSoundsViewController.
  • 1:57 - 2:01
    E o que esta afirmação está dizendo é que RecordSoundsViewController agora é
  • 2:01 - 2:03
    delegado de audioRecorder.
  • 2:03 - 2:07
    Depois de fazer essas duas coisas, podemos implementar a função
  • 2:07 - 2:10
    audioRecorderDidFinishRecording dentro da nossa classe.
  • 2:10 - 2:13
    Então, no próximo vídeo, vamos adicionar essas duas coisas ao nosso código.
Cím:
What is a Delegate - Intro to iOS App Development with Swift
Leírás:

more » « less
Video Language:
English
Team:
Udacity
Projekt:
UD585 - Intro to iOS App Development with Swift
Duration:
02:14

Portuguese, Brazilian subtitles

Felülvizsgálatok Compare revisions