/fun-upmc-iosdev-semaine4

FUN UPMC: Programmation sur iPhone et iPad: semaine 4 - exercice «Imagier»

Primary LanguageObjective-C

Exercice «Imagier»

Semaine: 4

Cours: Programmation sur iPhone et iPad

Établissement: Université Pierre & Marie Curie

Plateforme de MOOC: FUN

Screen capture

Compilation

Pour compiler:

  • Il faut ouvrir le fichier owned-Imagier.xcworkspace/, pas le project owned-Imagier.xcodeproj/.
  • Il faut être sûr de bien sélectionner le projet owned-Imagier en haut de la fenêtre avant de compiler, parce que le défaut c'est de seulement compiler ReactiveCocoa (Je sais pas pourquoi).

Techniques

Fonctionnalité :

  • ScrollView & ImageView
    • Effet parallaxe
  • Calcul mathématique pour la relation entre le pinch et les sliders
  • Universelle
  • Rotation

Structure :

  • Organisation Model-View-ViewModel (MVVM)
  • Style Functional Reactive Programming au travers de ReactiveCocoa
    • Highlight: bidirectional bindings between control value and viewModel value, using RACChannelTo
    • Highlight: multiple controls kept in sync (labels, slider, UIImageView, ScrollView zoom)
    • Highlight: signal of signals, although probably not necessary
  • L'interface est construise programmatiquement; pas de Storyboard / Interface Builder
  • Auto-Layout
  • ARC, à cause de ReactiveCocoa et presque tout le monde l'utilise.
  • Notation pointée (dot notation), parce que c'est idiomatique (comme l'explique Google et NY Times)

Librairies :

  • ReactiveCocoa : pour UI binding et le style Functional Reactive Programming
    • Pour ça, on est obligé à utiliser ARC
  • Masonry : pour créer facilement les contraintes pour Auto-Layout
  • cocoapods : pour gérer les paquets comme Masonry