Objective-C LanguageEstructuras


Sintaxis

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

Observaciones

En el Objetivo C, casi siempre debes usar un objeto en lugar de una estructura. Sin embargo, todavía hay casos en los que es mejor usar una estructura, como:

  • Cuando vaya a crear y destruir muchos valores del tipo (estructura), necesitará un buen rendimiento y un pequeño uso de memoria.
  • Las estructuras son más rápidas de crear y usar porque al llamar a un método en un objeto, el método debe determinarse en tiempo de ejecución
  • Las estructuras ocupan menos tamaño porque los objetos tienen una propiedad extra isa , que mantiene su clase
  • Cuando el valor solo tiene un par de propiedades y un tamaño total pequeño (tome CGSize ; tiene 2 flotadores que tienen 4 bytes cada uno, por lo que puede ocupar 8 bytes), y se usará mucho (se vincula con el primer punto)
  • Cuando podría usar uniones o campos de bits y, lo que es más importante, necesita el tamaño guardado por ellos porque necesita un pequeño uso de memoria (concuerda con el primer punto)
  • Cuando realmente desea almacenar una matriz dentro de la estructura, ya que los objetos Objective-C no pueden almacenar directamente las matrices-C. Sin embargo, tenga en cuenta que todavía puede obtener "indirectamente" una matriz en un objeto Objective-C al convertirla en una referencia (es decir, type * en lugar del type[] matriz C type[] )
  • Cuando necesita comunicarse con algún otro código, como una biblioteca, se codifica en C; Las estructuras están completamente implementadas en C, pero los objetos no están

Estructuras Ejemplos relacionados