Looking for objective-c Keywords? Try Ask4Keywords

Objective-C LanguageStructs


Syntaxe

  • typedef struct { typeA propertyA ; typeB propertyB ; ...} StructName

Remarques

Dans Objective C, vous devriez presque toujours utiliser un objet au lieu d'une structure. Cependant, il existe encore des cas où l’utilisation d’une structure est meilleure, comme par exemple:

  • Lorsque vous allez créer et détruire de nombreuses valeurs du type (struct), vous avez donc besoin de bonnes performances et d'une faible utilisation de la mémoire
  • Les structures sont plus rapides à créer et à utiliser car lors de l'appel d'une méthode sur un objet, la méthode doit être déterminée à l'exécution.
  • Les structures prennent moins de taille car les objets ont une propriété supplémentaire isa , qui contient leur classe
  • Lorsque la valeur n'a que quelques propriétés et une petite taille totale (prenez CGSize ; elle a 2 flottants de 4 octets chacun, elle peut donc prendre 8 octets), et va être utilisée beaucoup premier point)
  • Lorsque vous pouvez utiliser des unions ou des champs de bits et, plus important encore, vous avez besoin de la taille enregistrée car vous avez besoin d'une petite quantité de mémoire (liée au premier point)
  • Lorsque vous voulez vraiment stocker un tableau à l'intérieur de la structure, puisque les objets Objective-C ne peuvent pas stocker directement les tableaux C. Cependant, notez que vous pouvez toujours "indirectement" obtenir un tableau dans un objet Objective-C en en faisant une référence (par exemple, type * à la place du type[] C-array type[] )
  • Lorsque vous devez communiquer avec un autre code, tel qu'une bibliothèque, cela est codé en C; Les structures sont complètement implémentées en C mais les objets ne sont pas

Structs Exemples Liés