Table des matières:
- Conception de "bonnes" classes
- Faire un type une sous-classe d'une classe existante ou utiliser une délégation
- Recherche et ouverture rapides des fichiers pertinents dans Xcode
- Configuration des comportements
- Création d'un. Fichier gitignore
- Ouvrir une vue Alert
- Ouvrir un navigateur à partir de votre application
- Conversion d'une adresse en géolocalisation
- Test des capacités réseau
- Démarrage des capteurs
Vidéo: MINECRAFT POUR LES NULS | TUTO BASICS | NINTENDO SWITCH EDITION 2025
Par Rajiv Ramnath
Bien qu'OSO n'alimente que 13% des utilisateurs de smartphones aux États-Unis, ses programmes ont une part d'utilisation de 55% lorsque vous considérez le trafic intense sur Internet et que les appareils iOS sont achetés par des personnes qui utilisent fréquemment leurs appareils. En outre, iOS est livré avec un kit de développement logiciel (SDK) bien conçu basé sur Objective-C avec de nombreuses fonctionnalités pour rendre les applications de développement simples et amusantes. En d'autres termes, iOS est un marché cible parfait pour un développeur d'applications innovant.
Premiers pas avec la programmation iOS orientée objet
La programmation iOS, Objective-C, l'orientation objet et la conception OO vont de pair. Lisez la suite pour quelques conseils utiles pour OO Design. Il est temps de se mettre au courant!
Conception de "bonnes" classes
Vos classes doivent être très cohésives et faiblement couplées. Voici une liste de contrôle pour tester rapidement si une classe est bonne: Une réponse «Non» à l'une des questions signifie que vous devrez peut-être repenser votre classe.
-
Pouvez-vous donner à la classe un nom qui capture sa raison d'être?
-
Pouvez-vous donner une description disant que cela ne fait qu'une chose?
-
A-t-il des responsabilités (méthodes)? Toutes les responsabilités sont-elles alignées sur la description?
-
A-t-il des collaborateurs?
-
Est-ce que - ou ses composants - conservent leur long état de vie?
Faire un type une sous-classe d'une classe existante ou utiliser une délégation
Dites que vous avez besoin d'un type nommé Tiger et qu'il semble partager les responsabilités d'un Animal. Par conséquent, vous essayez de décider si vous devez déclarer Tiger en tant que sous-classe d'une classe nommée Animal, ou peut-être déclarer une variable membre de type Animal et déléguer des responsabilités animales à cette variable membre.
Dites ces deux phrases à haute voix:
-
Tiger IS-A an Animal.
-
Le tigre peut être un animal.
Si le premier a plus de sens (ce qui dans le cas présent), Tiger devrait être une sous-classe de Animal.
Respect des méthodes et des plates-formes d'application iOS
Lors de l'écriture d'une application iOS, il est très important de comprendre et d'intégrer le code spécifique à l'application dans son cycle de vie. Vous essayez de déterminer quelle méthode de cycle de vie utiliser? Cochez cette liste:
-
Utilisez willFinishLaunchingWithOptions pour effectuer tout traitement juste après le démarrage de l'application et avant l'affichage de la première fenêtre, et avant même que l'état ne soit restauré.
Vous utilisez généralement cette méthode pour vérifier si les paramètres de démarrage de l'application (tels qu'une URL) sont corrects. Vous pouvez également vérifier l'environnement dans lequel l'application est lancée (par exemple, a-t-elle été lancée sur un iPad ayant la capacité de passer des appels cellulaires?).Incidemment, cette méthode ne fonctionnera pas sur un appareil avec une version iOS antérieure à iOS 6.
-
Utilisez didFinishLaunchingWithOptions pour effectuer tout traitement une fois que vous êtes sûr que l'application va démarrer.
Par exemple, vous pouvez utiliser cette méthode pour restaurer un état global.
-
Utilisez applicationDidBecomeActive pour redémarrer un processus mis en veille lorsque l'application était inactive.
Par exemple, vous pouvez commencer à écouter les changements d'emplacement ou même actualiser l'interface utilisateur avec de nouvelles données.
-
Utilisez applicationWillResignActive pour mettre votre application en pause pendant que l'utilisateur donne son attention à une autre activité, comme répondre à un appel téléphonique.
-
Utilisez applicationDidEnterBackground pour libérer des ressources et enregistrer des données utilisateur avec suffisamment d'informations sur l'état de l'application pour restaurer votre application dans son état actuel au cas où elle se terminerait plus tard.
Vous avez droit à environ cinq secondes de traitement dans cette méthode. N'effectuez donc aucune tâche qui ne se termine pas, par exemple en demandant l'utilisateur.
-
Utilisez applicationWillEnterForeground pour annuler ce que vous avez fait dans applicationDidEnterBackground.
-
Utilisez applicationWillTerminate pour effectuer des tâches de nettoyage final.
Adapter vos applications iOS à la consommation
Les performances du programme iOS sont supérieures aux processus d'arrière-plan. Quelques astuces simples permettent de gagner du temps et d'augmenter les performances. Pour l'histoire droite, consultez ces conseils.
Recherche et ouverture rapides des fichiers pertinents dans Xcode
Utilisez la commande Ouvrir rapidement pour rechercher et ouvrir un fichier sur une ligne spécifique, en utilisant son nom de fichier, type ou symbole dans le fichier (comme une variable ou un nom de fonction), comme suit:
-
Choisissez Fichier → Ouvrir rapidement.
-
Dans le champ de recherche, entrez des caractères dans le nom du fichier ou du symbole que vous voulez afficher.
-
Tapez un point suivi d'un ou plusieurs caractères de l'extension du nom de fichier.
-
Pour ouvrir le fichier sur une ligne spécifique, tapez un deux-points suivi du numéro de ligne.
-
Choisissez un fichier dans la liste des résultats.
Cette boîte de dialogue vous permet également de décider où placer un fichier dans Xcode. Appuyez simplement sur CMD + OPT + SHIFT et maintenez-le enfoncé tout en double-cliquant sur le fichier.
Configuration des comportements
Vous pouvez configurer la manière dont Xcode répond aux événements communs en définissant son comportement à l'aide de la page Xcode → Préférences → Paramètres de comportement pour définir les préférences de comportement.
Par exemple, vous pouvez avoir un certain nombre d'onglets lorsque Xcode exécute votre application. Ou, si une construction échoue, vous pouvez faire en sorte que Xcode sauvegarde un instantané et ouvre la zone de débogage dans votre fenêtre d'espace de travail.
Création d'un. Fichier gitignore
Xcode peut facilement se connecter avec git, un système de gestion de code source populaire. Si elle est utilisée sans aucune configuration, git essaiera d'archiver tout dans un projet, même les fichiers avec le code objet compilé, les exécutables et les fichiers temporaires utilisés par Xcode.
Pour résoudre ce problème, vous devez créer configure git de manière appropriée. Pour ce faire, accédez au dossier du projet et créez un. Fichier gitignore avec le contenu suivant:
OS X Finder. DS_Store # Xcode par utilisateur config *. mode1 *. mode1v3 *. mode2v3 *. la perspective *. perspectivev3 *.pbxuser *. xcworkspace xcuserdata # Construire des produits build / *. o *. LinkFileList *. hmap # Fichiers de sauvegarde automatique * ~. nib / *. swp * ~
Ouvrir une vue Alert
Votre application a souvent besoin de faire apparaître une alerte pour informer l'utilisateur que quelque chose s'est passé et qu'elle a le choix entre plusieurs actions. Voici une liste de contrôle rapide pour configurer une alerte.
-
Implémentez la méthode clickedButtonAtIndex dans la classe qui provoquera l'apparition de l'alerte.
L'exemple de code suivant vous montre comment:
- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex {if (buttonIndex == 0) {[lecture automatiqueNouveauJeu];} else if (buttonIndex == 1) {return;}}
-
Créer, initialiser et afficher l'alerte.
L'extrait de code suivant vous montre comment:
UIAlertView * alert = [[UIAlertView alloc] init]; [alert setTitle: @ "Game Over!"]; [alert setMessage: @ "Jouer à un autre jeu?"]; [alert addButtonWithTitle: @ "Oui"]; [alert addButtonWithTitle: @ "Non"]; [alert setDelegate: self]; [émission d'alerte];
Connexion de vos applications iOS
Votre application iOS peut avoir besoin de communiquer avec une variété d'autres ressources. Heureusement, la boîte à outils iOS a une variété de connexions spécialisées. Choisissez-en un et mettez-le au travail.
Ouvrir un navigateur à partir de votre application
Voici une manière simple et rapide d'ouvrir une page Web dans un navigateur. Reportez-vous à l'exemple de code suivant:
- (IBAction) helpViaBrowser: (id) expéditeur {[[UIApplication sharedApplication] openURL: [URLWithString NSURL: @ " // fr.wikipedia.org/wiki/Tictactoe"]];
Oui, c'est aussi simple que ça!
Conversion d'une adresse en géolocalisation
La plupart des applications de cartographie ou de localisation ont besoin de convertir une chaîne de texte contenant une adresse ou un emplacement en coordonnées géocodées. Heureusement, le framework iOS fournit un géocodeur intégré. Le code suivant vous montre comment utiliser le géocodeur:
… NSString * findString = [findTextField text]; // la chaîne est lue depuis un champ de texte [myGeocoder geocodeAddressString: findString completionHandler: ^ (repères NSArray *, erreur NSError *) {MKPlacemark * aPlacemark = [repères objectAtIndex: 0]; // aPlacemark contient les informations géocodées …}]; …
Test des capacités réseau
C'est une bonne idée de tester les capacités réseau disponibles avant que votre application ne tente d'utiliser le réseau. Voici comment vous pouvez faire ce test:
-
Vous devez importer deux fichiers supplémentaires, à savoir, Reachability. h et accessibilité. m - à partir du site Web Apple Developer dans votre projet.
Vous pouvez trouver ces fichiers ici: // developer. Pomme. com / Bibliothèque / ios / samplecode / Accessibilité / Accessibilité. Zip *: français.
-
Vous devez inclure l'accessibilité. h dans votre code.
L'extrait de code suivant vous montre comment voir le réseau disponible:
+ (void) listCapabilities {// Test du réseau NSString * networkReachability = nil; Accessibilité * reachFacade = [Reachability reachabilityForInternetConnection]; NetworkStatus status = [reachFacade currentReachabilityStatus]; if (status == NotReachable) networkReachability = @ "Pas de réseau"; else if (status == ReachableViaWiFi) networkReachability = @ "Wifi disponible"; else if (status == ReachableViaWWAN) networkReachability = @ "WAN availablen"; … [textVal appendString: networkReachability]; …}
Démarrage des capteurs
