Frage

Da ich auf dem iPhone Entwicklung begonnen haben, habe ich ein bisschen verwirrt worden darüber, welche der beste Weg ist, Daten als Mitglied für den Zugriff auf in der Klasse.

Lassen Sie uns sagen, ich habe eine Klasse namens MyClass, und darin habe ich:

@interface MyClass : NSObject {
    int myInt;
}

@property (nonatomic, assign) int myInt;

Bei der Implementierung ist es besser, dies zu tun:

myObject.myInt = 1;

oder das?

[myObject setMyInt:1];

Dies geht auch um den Wert zu lesen.

int newInt = myObject.myInt;

vs.

int newInt = [myObject myInt];
War es hilfreich?

Lösung

Es ist nicht wirklich wichtig, sie sind das gleiche. Die Punkt-Syntax ist eine Bequemlichkeit, die es für Sie zu nutzen, und ich fühle mich wie es Ihren Code sauberer macht.

Den einen Fall, wo ich finde, dass die Punktsyntax wirft Warnung oder Fehler vom Compiler ist, wenn Sie ein ID-Objekt haben, auch wenn Sie wissen, es hat diese Eigenschaft.

id someReturnedObject = [somethingObject someMysteryObjectAtIndex:5];
int aValue = 0;
aValue = someReturnedObject.value; // warning
aValue = [someReturnedObject value]; // will just do it

Andere Tipps

Der Typ des Objekts wird statisch mit der überprüft. Syntax, aber nicht mit der [] Syntax. Dies bedeutet, dass Sie nicht verwenden können. Wenn der Typ des Objekts nicht angegeben ist, und dass es von Vorteil ist, es zu benutzen, wenn es, so wird der Compiler Ihnen mehr helfen.

Dot-Syntax in Objective-C ist im Wesentlichen eine Abkürzung, die Zugriffsmethoden für die Verwendung. Die Nachricht wird nach wie vor über die Accessormethode gesendet. Ich hoffe, dass Ihre Frage beantwortet

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top