Looking for objective-c Keywords? Try Ask4Keywords

Objective-C LanguageStructs


Syntax

  • typedef struct { typeA EigenschaftA ; typeB-EigenschaftB ; ...} StructName

Bemerkungen

In Objective C sollten Sie fast immer ein Objekt anstelle einer Struktur verwenden. Es gibt jedoch immer noch Fälle, in denen die Verwendung einer Struktur besser ist, z.

  • Wenn Sie viele Werte des Typs (struct) erstellen und zerstören möchten, benötigen Sie eine gute Leistung und einen geringen Speicherbedarf
  • Strukturen sind schneller zu erstellen und zu verwenden, da beim Aufruf einer Methode für ein Objekt die Methode zur Laufzeit bestimmt werden muss
  • Strukturen nehmen weniger Größe in Anspruch, da Objekte die zusätzliche Eigenschaft isa , die ihre Klasse enthält
  • Wenn der Wert nur ein paar Eigenschaften und eine geringe Gesamtgröße hat ( CGSize nehmen; es hat 2 Floats, die jeweils 4 Bytes sind, kann also 8 Bytes CGSize ) und wird häufig verwendet (hängt mit dem erster Punkt)
  • Wenn Sie Unions oder Bitfields verwenden könnten und vor allem die von ihnen gespeicherte Größe benötigen, weil Sie nur wenig Speicherplatz benötigen (in Verbindung mit dem ersten Punkt)
  • Wenn Sie wirklich ein Array innerhalb der Struktur speichern möchten, da Objective-C-Objekte C-Arrays nicht direkt speichern können. Beachten Sie jedoch, dass Sie immer noch "indirekt" ein Array in einem Objective-C-Objekt abrufen können, indem Sie es als Referenz verwenden (dh geben Sie type * anstelle des C-Array- type[] ) ein.
  • Wenn Sie mit einem anderen Code, z. B. einer Bibliothek, kommunizieren müssen, ist dies in C codiert. Strukturen sind vollständig in C implementiert, Objekte jedoch nicht

Structs Verwandte Beispiele