2013-01-10 8 views
14

Mögliche Duplizieren:
What is the meaning of id?Objective-C-Eigenschaften - was bedeutet "id"?

Per meine Frage bin ich natürlich ein noob auf iOS Entwicklung und Objective-C. Ich folgte ein Tutorial und ich habe diese Linie in meiner Schnittstelle (.h) Umsetzung erklärt:

@property (strong, nonatomic) id dataObject1; 

Was bedeutet die „id“ bedeuten?

+0

@ H2CO3 Ich habe ziemlich viel gegoogelt und habe keine Antwort gefunden. Ich entschuldige mich für die Frage. – ScoobaSteve

+0

@ScoobaSteve Okay, keine harten Gefühle, ich war nur überrascht ... Wenn Sie gute Objective-C-Ressourcen benötigen, [kann dies hilfreich sein] (http://gnustep.made-it.com/BG-objc/). –

+2

@HermannKlecker Meinen Sie es ernst ... War es wirklich so wichtig, an LMGTFY zu schreiben, dass Sie das Verbot und die freundliche orange Box umgehen mussten, die Ihnen sagte, dass der Inhalt, den Sie gepostet haben, nicht erlaubt war? –

Antwort

11

id ist der Typ des Objekts; der Typ könnte zum Beispiel NSArray * oder int sein.

Der Typ id gibt einen Verweis auf ein Objective-C-Objekt (unabhängig von seiner Klasse) an.

+18

Nein, ID kann nicht int sein. Es ist ein Alias ​​von NSObject *. Es könnte also NSArrary * aber nicht int sein. Int ist überhaupt kein Objekt. Es ist ein Skalar. –

+1

Sie haben recht, aber ich wollte die Deklaration '@ property' im Allgemeinen erklären - es ist vollkommen in Ordnung, eine Eigenschaft mit dem Typ' int' zu deklarieren. – praseodym

+7

@HermannKlecker Das ist falsch. Der 'ID'-Datentyp ist * nicht * ein Alias ​​von' NSObject * '; es ist ein 'typedef', der in ** objc.h ** wie folgt deklariert wird:' typedef struct objc_object { Klasse isa; } * id; ' – jlehr