Deixando seu código mais POP
-
Upload
bruno-bilescky -
Category
Technology
-
view
263 -
download
0
Transcript of Deixando seu código mais POP
![Page 1: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/1.jpg)
Deixando o seu código mais POP
com programação orientada a protocolos
![Page 2: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/2.jpg)
O que são?
![Page 3: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/3.jpg)
Protocolos são como contratos que sua
classe/objeto/estrutura concorda em cumprir.
![Page 4: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/4.jpg)
Mas qual de fato a utilidade deles?
![Page 5: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/5.jpg)
• Delegates- Métodos obrigatórios- Métodos opcionais
obj-c
![Page 6: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/6.jpg)
• Traits• Delegates
- Métodos obrigatórios- Métodos opcionais
• PAT- associatedtype
swift
![Page 7: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/7.jpg)
Traits = Extensão de Protocols
![Page 8: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/8.jpg)
Protocolos em Swift permitem que desenvolvedores aprimorem um conjunto
de tipos sem duplicação de código
![Page 9: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/9.jpg)
Ao invés de criar uma classe, comece com um protocolo
![Page 10: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/10.jpg)
Ao invés de criar uma classe, comece com um protocolo
Se não der certo tente uma Struct
![Page 11: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/11.jpg)
Exemplo clássico dos animais
![Page 12: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/12.jpg)
![Page 13: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/13.jpg)
Agora um problema um pouco menos abstrato
![Page 14: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/14.jpg)
![Page 15: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/15.jpg)
![Page 16: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/16.jpg)
![Page 17: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/17.jpg)
associatedtype
![Page 18: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/18.jpg)
![Page 19: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/19.jpg)
![Page 20: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/20.jpg)
![Page 21: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/21.jpg)
BaseViewController
![Page 22: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/22.jpg)
func displayError()func userDidLogout()…. muitas mais funções
![Page 23: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/23.jpg)
![Page 25: Deixando seu código mais POP](https://reader035.fdocument.pub/reader035/viewer/2022062412/58ed91181a28aba9288b462b/html5/thumbnails/25.jpg)
Muito Obrigado!Estamos contratando!!!