Questions diverses sur Objective-C

malgachemalgache Membre
juin 2011 modifié dans Objective-C, Swift, C, C++ #1
Bonjour,

Je suis actuellement en train de faire mon rapport de stage, mais je viens de me rendre compte qu'intuitivement j'ai fait des variables pointeurs et d'autre non comme par exemple

<br />NSString *choixPickerDepartement,*choixPickerVille, *choixPickerAE, *boutonChoisi;<br />NSInteger positionPickerDepartement,positionPickerVille,positionPickerAE;<br />


Déjà  je me trompe pas en disant que les variables type NSString sont des pointeurs et celles de type NSInteger ne sont pas des pointeurs?

Si c'est bien le cas, avez vous des cours ou peut être pouvez-vous m'indiquer pourquoi pour un NSString je dois définir mes variables en tant que pointeur et pourquoi pour NSInteger je ne dois pas les définir en tant que pointeur?

Merci d'avance =)

Réponses

  • zoczoc Membre
    10:55 modifié #2
    NSString est un objet, alors que NSInteger n'en n'est pas un (NSInteger est un type défini à  partir d'un type natif C).

  • laudemalaudema Membre
    juin 2011 modifié #3
    Pas de cours, juste la doc Apple et quelques livres, mais un NSInteger (et les autres "scalaires") sa taille est connue par le compilateur quand tu crées une variable la machine sait combien elle doit lui réserver d'espace mémoire ( c'est du C), un NSObject non. Il faudra lui allouer de la mémoire et pour retrouver cette zone mémoire tu passes un pointeur sur isa qui est initialisé comme une structure de données décrivant la classe.
    J'espère n'avoir pas dit de bêtise et je mets ça pour voir si j'ai bien compris..
  • malgachemalgache Membre
    10:55 modifié #4
    Ok merci pour vos réponses :)
Connectez-vous ou Inscrivez-vous pour répondre.