Formation "Programmation Cocoa Avancée"
pour Mac OS X / iPhone / iPad

1er jour :
Retour sur le runtime Objective-C et ses particularité
Les usages du runtime ObjC dans Cocoa
• Le Key Value Coding (KVC), ses règles et ses avantages
• Le Key Value Observing (KVO), son fonctionnement et sa puissance

TP #1 : RecipeBook : un logiciel de gestion de recette de cuisine en 2 versions : "à l'ancienne", puis avec KVC/KVO

2eme jour :
• Les Cocoa Bindings, le prolongement de KVO (Mac OS X seulement)
• Les "Objets Controleurs"
TP #2 : Simple Bindings : un exemple d'utilisation des Cocoa Bindings
• La gestion de la selection dans les Objets Controleurs
• Le NSArrayController en détail
TP #3 : La TableView version 2.0 : comment redécouvrir la NSTableView
TP #4 : RecipeBook : intégration des bindings
• Les Value Transformers

3eme jour
:
• Core Data : un framework de gestion de graphe d'objets
• La "Stack Core Data"
• Le cycle de vie des objets dans Core Data
TP #5 : My Company : TP d'introduction à Core Data (gestion des relations)
• Les prédicats et les requêtes
TP #5 : My Company : Suite du TP avec gestion des requêtes

4eme jour :
• Core Data et les Cocoa Bindings
TP #6 : RecipeBook en Core Data et Cocoa Bindings : édition, persistence...
• Usages avancés de Core Data (Threading, Cross Store relationships, performances...)

5eme jour :
• Core Animation : la création d'interfaces animées
TP #7 : Simple Animation : utilisation basique de Core Animation
• Les animations et leur mécanisme
TP #8 : AnimatgedImageView : la découverte des layers
• Les layers et leurs roles
• Les filtres Core Image
TP #9 : Core Image Filters : l'usage des layers et des filtres
• Démonstration et exemples d'animations par Core Animations

Pour ceux qui souhaitent aller encore plus loin :

• Le Runtime Objective-C en détail :
• Mécanisme de messaging
• Forwarding
• Method swizzling
• Injection de code
TP #10 : Swizzling sur NSView

• Le Debugging avancé avec GDB
blocks_image
blocks_image