Outils pour utilisateurs

Outils du site


objc:trucs_importants

{tag>IB NSString NSSet C NSNull NSURLConnection}

Des trucs importants à ne pas oublier

Objets égaux ou identiques

Deux objets peuvent être

  • identiques → contiennent la même adresse. Il s'agit du même objet avec deux noms ou références différentes. Dans le cas d'objets de type NSString par exemple, les deux objets pointeront sur la même adresse.
  • égaux → ont le même contenu. Dans le cas d'objets de type NSString par exemple, les deux objets contiendront les mêmes lettres dans le même ordre

NSSet et containsObject

La méthode containsObject:(id)x de NSSet s'appuie sur isEqual: → Si un objet est susceptible d'être intégré dans un NSSet, il est important de redéfinir correctement isEqual: pour identifier deux objets égaux.

Utiliser les types C

Il est possible d'utiliser les types C dans du code Objective C.

  • NSNumber permet de stocker des types C numériques
    • + (void)numberWithInt:(int) → stockage d'un entier C
    • + (void)numberWithFloat:(float) → stockage d'un décimal C
  • NSValue permet de stocker des pointeurs ou certaines structures

Représenter un trou dans un collection

nil ne peut pas être utilisé dans une collection → utiliser la classe NSNull

NSMutableArray *maCollection = [[NSMutableArray alloc] init];
[maCollection addObject:monPremierObjet];
[maCollection addObject:[NSNull null]]; // Un trou dans ma collection
[maCollection addObject:monTroisiemeObjet];

Utilisation de NSURLConnection

  • de préférence de manière asynchrone pour éviter le blocage de l'interface.
  • NSURLConnection ne sait pas effectuer de callback : saisie de mot de passe ou login impossibles (par exemple).

NSSearchPathForDirectoriesInDomains

  • Signature
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
  • Recherche les répertoires qui correspondent au critère indiqué et les retourne dans un tableau

Accéder aux vues du Story board

Permet de passer des données entre les vues lors de l'utilisation de Story Board (méthodes UIViewController)

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender;
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;

rechercher des motifs dans du texte

Utiliser la classe

NSDataDetector

Compiler une classe avec ou sans ARC

Le joyeux mélange ARC / pas ARC en Objective C peut être une bouse infâme. Il est parfois nécessaire de compiler une classe d'un projet avec ARC alors que tout le reste du projet est non ARC. Les directives suivantes sont à ajouter dans Projet → Build phases → Compile sources

  • Compiler avec ARC : -fno-objc-arc
  • Compiler avec ARC : -fobjc-arc
objc/trucs_importants.txt · Dernière modification: 2016/10/17 13:56 (modification externe)