SlideShare uma empresa Scribd logo
1 de 9
Dojo iOS básico
Aula 10
Gustavo Barbosa
gustavob@ciandt.com
ÚLTIMA AULA!
Revisão
● Criamos um layout com alguns componentes novos
(UISegmentControl e UISwitch)
● Criamos um UIViewController feito com .xib (fora do
Storyboard)
● Utilizamos uma NSNotificationCenter para atualizar a
nossa tableView com as marcas
postNotificationWithName: // addObserver:
O que veremos hoje?
● Threads assíncronas
● Veremos o funcionamento da NSOperationQueue
● Operation Queue é um recurso alto nível construído
sobre o GCD
● GCD - Grand Central Dispatch: Não possui uma gestão
muito eficiente das threads. Também não há como
cancelar uma request
● Faremos um exemplo utilizando
dispatch_async /
performSelectorInBackground
● Realizaremos o download de uma
imagem e carregaremos um loading na
tela
● Veremos a diferença de fazer uma
execução síncrona e assíncrona
Vamos
começar!

Mais conteúdo relacionado

Semelhante a Dojo iOS básico - Threads assíncronas e NSOperationQueue

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Felipe Silveira
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Denis Santos
 
Construindo interfaces com XIBs reutilizáveis
Construindo interfaces com XIBs reutilizáveisConstruindo interfaces com XIBs reutilizáveis
Construindo interfaces com XIBs reutilizáveisLucas Salton Cardinali
 
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...Gustavo Concon
 
Desenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidDesenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidNelson Glauber Leal
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchCampus Party Brasil
 
Android carregando dados com loaders
Android   carregando dados com loadersAndroid   carregando dados com loaders
Android carregando dados com loadersFernando Camargo
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFRafael T. C. Soares (tuelho)
 
Dnad 2012 iis - uma questão de arquitetura
Dnad 2012   iis - uma questão de arquiteturaDnad 2012   iis - uma questão de arquitetura
Dnad 2012 iis - uma questão de arquiteturaSidney Filho
 
IIS - Uma questão de arquitetura
IIS - Uma questão de arquiteturaIIS - Uma questão de arquitetura
IIS - Uma questão de arquiteturasidneyfilho
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
iOS Delegates - Mobile Conf Rio 2014
iOS Delegates - Mobile Conf Rio 2014iOS Delegates - Mobile Conf Rio 2014
iOS Delegates - Mobile Conf Rio 2014osnipso
 

Semelhante a Dojo iOS básico - Threads assíncronas e NSOperationQueue (20)

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Construindo interfaces com XIBs reutilizáveis
Construindo interfaces com XIBs reutilizáveisConstruindo interfaces com XIBs reutilizáveis
Construindo interfaces com XIBs reutilizáveis
 
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...
CI&T DevDay BH 2013 - Google AppEngine: 3 anos de estrada no case com a maior...
 
Desenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidDesenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos Android
 
Desenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-TouchDesenvolvendo para iOS com Cocoa-Touch
Desenvolvendo para iOS com Cocoa-Touch
 
Android carregando dados com loaders
Android   carregando dados com loadersAndroid   carregando dados com loaders
Android carregando dados com loaders
 
Kotlin first
Kotlin firstKotlin first
Kotlin first
 
Meetup #17
Meetup #17Meetup #17
Meetup #17
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXFIntrodução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
 
Dnad 2012 iis - uma questão de arquitetura
Dnad 2012   iis - uma questão de arquiteturaDnad 2012   iis - uma questão de arquitetura
Dnad 2012 iis - uma questão de arquitetura
 
IIS - Uma questão de arquitetura
IIS - Uma questão de arquiteturaIIS - Uma questão de arquitetura
IIS - Uma questão de arquitetura
 
Angular 2
Angular 2Angular 2
Angular 2
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
iOS Delegates - Mobile Conf Rio 2014
iOS Delegates - Mobile Conf Rio 2014iOS Delegates - Mobile Conf Rio 2014
iOS Delegates - Mobile Conf Rio 2014
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 

Mais de Gustavo Barbosa

Dojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - IntroduçãoDojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - IntroduçãoGustavo Barbosa
 
Workshop - IDE / Linguagem
Workshop - IDE / LinguagemWorkshop - IDE / Linguagem
Workshop - IDE / LinguagemGustavo Barbosa
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobileGustavo Barbosa
 
Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Gustavo Barbosa
 
Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Gustavo Barbosa
 
Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Gustavo Barbosa
 
Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Gustavo Barbosa
 
Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Gustavo Barbosa
 
Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Gustavo Barbosa
 
Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Gustavo Barbosa
 

Mais de Gustavo Barbosa (10)

Dojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - IntroduçãoDojo swift - Aula 1 - Introdução
Dojo swift - Aula 1 - Introdução
 
Workshop - IDE / Linguagem
Workshop - IDE / LinguagemWorkshop - IDE / Linguagem
Workshop - IDE / Linguagem
 
Workshop - Conceito mobile
Workshop - Conceito mobileWorkshop - Conceito mobile
Workshop - Conceito mobile
 
Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7Dojo iOS Básico - Aula 7
Dojo iOS Básico - Aula 7
 
Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8Dojo iOS Básico - Aula 8
Dojo iOS Básico - Aula 8
 
Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6Dojo iOS Básico - Aula 6
Dojo iOS Básico - Aula 6
 
Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9Dojo iOS Básico - Aula 9
Dojo iOS Básico - Aula 9
 
Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5Dojo iOS Básico - Aula 5
Dojo iOS Básico - Aula 5
 
Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2Dojo iOS Básico - Aula 2
Dojo iOS Básico - Aula 2
 
Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1Dojo iOS Básico - Aula 1
Dojo iOS Básico - Aula 1
 

Dojo iOS básico - Threads assíncronas e NSOperationQueue

  • 1. Dojo iOS básico Aula 10 Gustavo Barbosa gustavob@ciandt.com
  • 4. ● Criamos um layout com alguns componentes novos (UISegmentControl e UISwitch) ● Criamos um UIViewController feito com .xib (fora do Storyboard) ● Utilizamos uma NSNotificationCenter para atualizar a nossa tableView com as marcas postNotificationWithName: // addObserver:
  • 6. ● Threads assíncronas ● Veremos o funcionamento da NSOperationQueue ● Operation Queue é um recurso alto nível construído sobre o GCD ● GCD - Grand Central Dispatch: Não possui uma gestão muito eficiente das threads. Também não há como cancelar uma request
  • 7.
  • 8. ● Faremos um exemplo utilizando dispatch_async / performSelectorInBackground ● Realizaremos o download de uma imagem e carregaremos um loading na tela ● Veremos a diferença de fazer uma execução síncrona e assíncrona