Return to Video

Passing the Model using prepareForSegue - Intro to iOS App Development with Swift

  • 0:00 - 0:03
    Esse é o motivo de a citação do filme ainda estar sendo reproduzida.
  • 0:03 - 0:06
    Até agora, em RecordSoundsViewController,
  • 0:06 - 0:09
    temos uma função chamada audioRecorderDidFinishRecording.
  • 0:09 - 0:13
    E dentro dessa função, estamos salvando o recordedAudio.
  • 0:13 - 0:15
    A propósito, estamos acompanhando duas coisas sobre o áudio.
  • 0:15 - 0:18
    Seu caminho de arquivo e seu título.
  • 0:18 - 0:20
    Mesmo que estejamos salvando o áudio gravado,
  • 0:20 - 0:24
    ainda não estamos passando ele da primeira cena para a segunda.
  • 0:24 - 0:26
    Para reproduzir os sons no segundo controlador U,
  • 0:26 - 0:28
    precisamos passar esses dados para a segunda cena.
  • 0:28 - 0:30
    Vamos fazer isso em seguida.
  • 0:30 - 0:34
    Para fazer isso, vou voltar para RecordSoundsViewController e
  • 0:34 - 0:38
    te apresentar outra função que herdamos de UIViewController.
  • 0:39 - 0:40
    Ela se chama prepareForSegue.
  • 0:41 - 0:44
    E quando começo a escrevê-la, o Xcode a completa automaticamente para mim.
  • 0:45 - 0:50
    Essa função, prepareForSegue, é chamada um pouco antes de um segue estar
  • 0:50 - 0:54
    prestes a ser executado e, portanto, é um ótimo lugar para passar qualquer dado.
  • 0:54 - 0:57
    Aqui, vou acrescentar uma instrução if e
  • 0:57 - 1:00
    verificar se o meu segue.identifier é stopRecording.
  • 1:00 - 1:03
    Esse tipo de verificação se torna muito importante quando
  • 1:03 - 1:07
    temos vários segues conectados à mesma ViewController.
  • 1:07 - 1:10
    Certo, para passar dados para esta segunda ViewController,
  • 1:10 - 1:13
    precisamos, de alguma forma, acessá-la no código.
  • 1:13 - 1:15
    E posso fazer isso com esta linha.
  • 1:15 - 1:19
    Aqui, criei uma constante chamada PlaySoundsVC, defini seu
  • 1:19 - 1:24
    tipo apropriado e utilizei a propriedade segue.destinationViewController
  • 1:24 - 1:27
    para obter um identificador na segunda ViewController em nosso aplicativo.
  • 1:27 - 1:32
    Também usei essa palavra-chave no Swift "as" para converter este destinationViewController para o
  • 1:32 - 1:36
    tipo correto que estamos esperando, que é PlaySoundsViewController.
  • 1:37 - 1:41
    Ok, agora que temos uma maneira de acessar PlaySoundsViewController no código,
  • 1:41 - 1:43
    vamos pensar em uma maneira de passar dados para ele.
  • 1:45 - 1:48
    Podemos obter os dados deste parâmetro sender.
  • 1:48 - 1:51
    Lembre-se de que o sender é o objeto que iniciou o segue e
  • 1:51 - 1:53
    que, no nosso caso, é o recordedAudio.
  • 1:54 - 1:58
    Posso escrever uma linha de código como essa para recuperar os dados.
  • 1:59 - 2:03
    E agora só preciso passar esses dados para PlaySoundsViewController.
  • 2:03 - 2:07
    Mas espere, esse cara, PlaySoundsViewController,
  • 2:07 - 2:11
    não tem, de fato, uma maneira de receber dados ainda, não é?
  • 2:11 - 2:14
    Para corrigir isso, vou para PlaySoundsViewController
  • 2:14 - 2:20
    no navegador e criar uma nova variável chamada receivedAudio.
  • 2:20 - 2:23
    Essa variável é do tipo RecordedAudio.
  • 2:23 - 2:24
    Essa foi a classe nova que criamos.
  • 2:25 - 2:29
    Agora, se voltarmos para prepareForSegue, posso passar os dados desta maneira.
  • 2:29 - 2:33
    Posso dizer playSoundsVC.receivedAudio.
  • 2:33 - 2:36
    Essa é a variável nova que criamos no playSoundsViewController.
  • 2:36 - 2:37
    E isso, agora, igual a data.
  • 2:38 - 2:40
    Legal, vamos executar este projeto.
  • 2:41 - 2:42
    Certo, vou gravar algo.
  • 2:43 - 2:45
    O aplicativo está funcionando agora?
  • 2:45 - 2:47
    Vou reproduzir o som.
  • 2:47 - 2:51
    >> Minha mãe sempre disse que a vida era como uma caixa de chocolate.
  • 2:51 - 2:52
    >> Hum.
  • 2:52 - 2:54
    O aplicativo ainda está reproduzindo a citação do filme.
  • 2:54 - 2:56
    Quer tentar adivinhar por que isso está acontecendo?
  • 2:56 - 2:58
    Insira sua resposta nesta caixa.
Tytuł:
Passing the Model using prepareForSegue - Intro to iOS App Development with Swift
Opis:

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

Portuguese, Brazilian subtitles

Revisions Compare revisions