Chapitre 01 - Introduction Flashcards
Il y avait 2 millions d’applications sur le App Store / Google Play, 235 000 sur le Blackberry World, 670 000 sur le Windows Store. Utilisant vos connaisances sur la popularité des téléphones intelligents, que pouvez-vous déduire?
Il y a un lien de corrélation entre le nombre d’applications sur le app store d’une plateforme et le succès de celle-ci.
Quelles sont des contraintes du développement mobile?
- Mémoire vive limitée
- Espace disque limité
- Taille d’écran
- Énergie limitée
- Interruption (SMS, appel, email, etc…)
- Accessiblités
- Langues
Quelle est la différence principale entre le C/C++ et l’ObjC?
En C/C++, on appel une méthode sur un objet. En ObjC, en lui envoie un message.
À qui peux-t-on envoyer des messages en ObjC?
N’importe qui, mais nous ne sommes pas garantie d’avoir une réponse.
Quel est l’équivalent en ObjC de ce code en Java?
Voiture maVoiture = new Voiture(); int wheels = maVoiture.getNumberOfWheels();
Voiture *maVoiture = [[Voiture alloc] init];
int wheels = [maVoiture numberOfWheels]
Quel est l’objet de base de ObjC?
NSObject
Comment est-ce qu’on déclare une classe en ObjC dans un .h en ObjC?
@interface NomClasse : ClasseSurdéfinie
Comment est-ce qu’on implémente une classe déclaré dans un .h en ObjC?
@implementation NomClasse
Comment est-ce qu’on indique la fin de l’implémentation ou de la définition d’une classe en ObjC?
@end
Que signifie le décorateur @private en ObjC?
Indique qu’un élément ne peut être modifié/accédé que par la classe elle-même
Que signifie le décorateur @protected en ObjC?
Indique qu’un élément ne peut être modifié/accédé que par une sous-classe
Que signifie le décorateur @public en ObjC?
Indique qu’un élément peut être modifié/accédé par n’importe qui
Qu’est-ce qui ne peut pas être @private en ObjC?
Les méthodes (fonctions) et les @property
Quel est la particularité de @private en ObjC?
Un objet ne peut pas être 100% privé dû au fait que tu peux envoyer des messages à n’importe quoi, l’objet n’est que caché.
Que signfie - et + devant une méthode dans une classe en ObjC?
-: Méthode disponible sur une instance
+: Méthode dispnible sur la classe elle-même (e.g.: statique)
Quel convention standard devrait être respecté dans les méthodes init de toute classe en ObjC et pourquoi?
if (self = [super init])
On s’assure que le parent qui a appellé la méthode n’est pas nil
Comment est-ce qu’on passe plusieurs arguments en ObjC?
[monObjet monMessage:MonArgument1 lasuite:MonArgument2];
Qu’est-ce que @property fait en ObjC?
Crée dynamiquement le set/get pour une propriété et s’occupe de l’allocation/désallocation de la mémoire.
Qu’est-ce que la ligne suivante fait en ObjC:
@property(nonatomic)int numberOfWheels;
Crée une propriété dynamique qui ne garantis pas qu’un objet soit présent de façon complète/atomique (est plus rapide) lors des get.
Qu’est-ce que la ligne suivante fait en ObjC:
@property(atomic)int numberOfWheels;
Crée une propriété dynamique qui garantis qu’un objet soit présent de façon complète/atomique (est moins rapide) lors des get.
Quelle est la différence entre ces lignes en ObjC:
int wheels = [maVoiture numberOfWheels];
int wheels = maVoiture.numberOfWheels;
Au niveau du compilateur, il n’y a aucune différence. Il va transformer la deuxième ligne avec le point vers la première ligne.
Comment est-ce qu’on fait de l’assignation de variable dans un string en ObjC?
NSLog(@”Ma phrase est %@”, @”cool”);