plop

Pages: 22 (5273 mots) Publié le: 21 janvier 2014
Développer pour iOS
Applications pour iPhone, iPad et iPod touch

Développer pour iOS
• Des outils (Xcode, Instruments, simulateur)

• Un langage (Objective-C)

• Des frameworks (Foundation, UIKit...)

• Design Patterns (MVC, delegation, KVO...)

XCode
• Environnement de développement

• Disponible uniquement pour MacOSX

• Gratuit (téléchargement depuis l’AppStore)

•Intègre le SDK iOS

• Pour avoir la dernière version du SDK, il
faut la dernière version d’XCode

XCode
• Outil de création d’interface graphique
WYSIWYG (Storyboards)


• Assistant «binding» Storyboard - Code

• Outils de versionning (git)

• Outils d’analyse / monitoring

• Documentation et quick help

Démo

Objective-C
Le langage de programmation pour iOS Objective-C
• Language orienté objet

• Classes, Instances

• Encapsulation, Heritage, Polymorphisme

• messages / méthodes

• framework Foundation

• NSString, NSObject ...

Une premiere classe!


Le fichier .h






appelé interface

les dépendances

déclaration publiques

«mode d’emploi»



Le fichier .m






appelé implementationcode

méthodes privés

variable de classe

Exemple
#import

!

@interface Employee : NSObject

!
!

// Méthodes de class
+ (id) newEmployee;

!

// Méthodes d’instance
- (id) initWithName:(NSString *)name;
- (void) setWork:(int)travail
withDeadLine:(NSDate *)date;
- (void) raise;
- (int) setRaise:(int)raise;

!

@end

!

#import "Employee.h"

@implementationEmployee
{
// Variable d’instance
int _raise;
}

!

- (int) raise
{
return _raise;
}

!

- (void) setRaise:(int)raise
{
_raise = raise;
}
/* ... */
@end

signature d’une méthode



- (int) raise;

• méthode d’instance (-)

• retourne un int

• ne prends pas de paramètre

• pas de () !!!

• correspond a la signature raise

signature d’une méthode+ (id) newEmployee;

• méthode de classe (+)

• retourne un id (un objet, typage faible)

• ne prends pas de paramètre

• correspond a la signature newEmployee

signature d’une méthode



- (void) setRaise:(int)raise;

• méthode d’instance (-)

• retourne void

• prends UN paramètre de type int

• correspond a la signature setRaise:

signature d’une méthode- (void)setWork:(int)travail withDeadLine:(NSDate *)date;

• méthode d’instance (-)

• retourne void

• prends deux paramètres

• correspond a la signature
setWork:withDeadLine:

Instanciation
• On utilise les pointeurs

• Les objet ont une adresse fixe

• La variable contient l’adresse

Employee * florian = ...;

Instanciation
• Pas de «new»

• NSObject fournitl’API de création

• Reserver une zone mémoire

• +(id) alloc;

• Initialise l’objet (iVar à zéro)

• -(id) init;

Employee * florian = [[Employee alloc] init];

Passes le message!
• Java : maVariable.methode();

• C++ : maVariable -> methode();

• en Obj-C : [maVariable methode];


Exemples de messages
• Envoyer un message à une classe

Employee * florian = [EmployeenewEmployee];

• Envoyer un message à une instance avec 1
paramètre


[florian setRaise:200];

• Si l’on a plus d’un argument?

[florian setWork:work withDeadLine:today];

Apple :
Convention d’écriture
• un nom de méthode & variable commence
par une minuscule

• Un nom de classe commence par une
majuscule

• Utiliser le style camelCase

• Les getters ne sont pas préfixésde ‘get’

• Les constantes commencent par un ‘k’

Démo

Les variables d’instance
• Se déclarent dans l’implementation
int _raise;

• Rendu accessible via des accessors déclarer
dans l’@interface
- (void) raise;
- (int) setRaise:(int)raise;

• Accessor ensuite implémenté dans le .m

• Code, en général, sans grande valeur ajoutée

@property
!

• Declaration /...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Plop plop
  • Plop
  • Plop
  • plop
  • Plop
  • Plop!
  • Plop
  • Plop

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !