NSString : apprendre à  formater

muqaddarmuqaddar Administrateur
février 2007 modifié dans Objective-C, Swift, C, C++ #1
Réalisé par odjau

Formatage, type et NSLog

Créer un NSString à  l'aide stringWithFormat

La méthode stringWithFormat permet de créer un NSString en intégrant des variables au sein de la chaà®ne de caractères à  l'aide du caractère "%" suivie d'une spécification de formatage de la variable associée.

Formatage de la chaà®ne de caractères et de ses arguments

Le tableau suivant récapitule les principales spécifications disponibles pour formater une chaà®ne de caractère :

[Fichier joint supprimé par l'administrateur]

Réponses

  • muqaddarmuqaddar Administrateur
    04:10 modifié #2
    Les exemples suivants permettent de mieux appréhender l'utilisation du formatage :

    NSString *aString =[NSString stringWithFormat: @"résultat = %0.2f", 42.34852];
    


    --> valeur de aString : "résultat = 42,35"

    Remarque : %0.2f respecte le format -m.d ou m correspond à  la largeur minimum de l'affichage et d à  la précision d'un nombre (%0.5d, 123 donnera 00123, %O.2f, 1.23456 donnera 1.23) ou le nombre de caractères d'une chaà®ne.

    NSString *aString =[NSString stringWithFormat: @"L'objet vaut : %@", anObject];
    


    --> valeur de aString : "L'objet vaut : jour : lundi, menu : ravioli"

    Remarque : "%@" sous-entend que l'objet que l'on veut afficher réponde à  la méthode description.
    Par conséquent, si l'on désire afficher un objet d'une classe personnalisée, cette classe doit implémenter la méthode - (NSString *)description.
    Toujours pour le même exemple on aurait une implémentation ressemblant à  :
    <br />- (NSString *)description<br />{<br />&nbsp; &nbsp; return [NSString stringWithFormat: @&quot;jour : %s, menu : %s&quot;, jourSemainne, repas];<br />}
    


    Astuces de formatage :
    - sauter une ligne : à  l'aide de "\n"
    - ajouter une tabulation : à  l'aide de "\t"
    - ajouter le caractère ' : à  l'aide de \'
    - ajouter le caractère " : à  l'aide de \"
  • muqaddarmuqaddar Administrateur
    04:10 modifié #3
    Exemple concret : L'utilisation de la fonction NSLog

    NSLog est une fonction du foundation.framework dérivé de la fonction C, printf. Elle permet d'afficher des messages personnalisés au cours de l'exécution du code de votre application. Ces messages sont affichés dans la fenêtre "Run Log" lors de l'exécution à  partir d'Xcode (menu Debug>Run Log si elle ne s'est pas ouverte) :

    [Fichier joint supprimé par l'administrateur]
  • muqaddarmuqaddar Administrateur
    04:10 modifié #4
    Ou directement dans l'application Console.app (A partir du Finder Applications>Utilitaires>Console) lorsque l'application est exécutée à  partir du Finder.

    [Fichier joint supprimé par l'administrateur]
  • muqaddarmuqaddar Administrateur
    04:10 modifié #5
    NSLog est une solution simple pour suivre pas à  pas l'exécution d'un code, déterminer la valeur de certaines variables à  des points précis de ce même code... en d'autres termes : debugger.

    Syntaxe de NSLog

    NSLog(NSString,arg1,arg2...argn);
    


    La fonction NSLog prend en paramètre un NSString que l'on peut formater comme cela à  été présenté précédemment.

    Exemple d'application à  télécharger

    Un exemple valant mieux que tout les discours, voici une petite application mettant en oe“uvre la fonction NSLog pour pister les différentes étapes de l'exécution de cette dernière.


    [Fichier joint supprimé par l'administrateur]
Connectez-vous ou Inscrivez-vous pour répondre.