iOS design patterns: blocks
-
Upload
appsterdam-milan -
Category
Technology
-
view
182 -
download
1
description
Transcript of iOS design patterns: blocks
![Page 1: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/1.jpg)
iOS Design Patterns: Blocks
Introduzione teorica e casi d’utilizzo nel framework di Veespo
Alessio Roberto@alessioroberto
1
![Page 2: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/2.jpg)
Definizione Apple
• Blocks are a language-level feature added to C, Objective-C and C++, which allow you to create distinct segments of code that can be passed around to methods or functions as if they were values.
2
![Page 3: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/3.jpg)
Definizione Apple
• They also have the ability to capture values from the enclosing scope, making them similar to closures or lambdas in other programming languages.
3
![Page 4: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/4.jpg)
Grand Central Dispatch
• Sfruttare al meglio lo sviluppo multi core, semplificando la vita allo sviluppatore
• Esecuzione parallela a livello di thread e gestione della concorrenza
• Creazione e gestione dei thread e della sincronizzazione “invisibile” per lo sviluppatore
4
![Page 5: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/5.jpg)
Blocchi
5
![Page 6: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/6.jpg)
Blocchi
6
![Page 7: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/7.jpg)
Funzione asincrona
7
![Page 8: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/8.jpg)
8
![Page 9: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/9.jpg)
Funzione asincrona
9
![Page 10: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/10.jpg)
Funzione di callback
10
![Page 11: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/11.jpg)
Funzione di callback
11
![Page 12: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/12.jpg)
Funzione di callback
12
![Page 13: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/13.jpg)
Callback e chiarezza del codice
13
github.com/darthpelo/ARNavBar
![Page 14: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/14.jpg)
Callback
14
![Page 15: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/15.jpg)
Funzioni asincrone
15
![Page 16: iOS design patterns: blocks](https://reader033.fdocuments.in/reader033/viewer/2022060118/558a67a1d8b42a6d7a8b458b/html5/thumbnails/16.jpg)
Grazie :-)
16
veespo.com@VeespoDotCom