Opérateur Dot en Objective-C 2.0

voix
3

Il suffit de ramasser Objective-C 2.0 et je voulais savoir s'il y a un avantage à utiliser l'opérateur de points pour l'accès aux propriétés au lieu de la « vieille ». court exemple de ce que je veux dire.

« ancienne »:

 [myFraction setNumerator: 1];
 [myFraction setDenominator: 3];

nouvelle façon:

 myFraction.numerator = 1;
 myFraction.denominator = 3;

Merci!

Rodrigo

Créé 04/03/2009 à 23:41
source utilisateur
Dans d'autres langues...                            


5 réponses

voix
7

La seule différence est la facilité de frappe et la lisibilité. L'avis qui est plus lisible diffère d'une personne à :)

Créé 04/03/2009 à 23:44
source utilisateur

voix
2

J'aime vraiment la nouvelle syntaxe - mais peut-être parce que je travaille comme programmeur Python.

La syntaxe dot-propriété mailles bien avec des chemins clés dans KVC / KVO. Il a l'air plus propre à mes yeux que crochets imbriqués (et j'aime schéma, donc je ne suis pas opposé à imbrication de parenthèses!), Et le rend explicite lorsque vous accédez à une propriété, plutôt que de passer un message - même si le mécanisme est le même.

Et, je vois accès à la propriété d'un objet étant (essentiellement) la même opération que l' accès aux membres d'une struct ou union, de sorte que la syntaxe devrait être la même.

Créé 05/03/2009 à 00:09
source utilisateur

voix
2

J'utilise la syntaxe de points quand je suis descendant un objet et utiliser le support pour définir réellement une propriété.

Ainsi:

[self.view setFrame:CGRectMake(0, 0, 320, 480)];

Au lieu de:

[[self view] setFrame:CGRectMake(0, 0, 320, 480)];
Créé 04/03/2009 à 23:57
source utilisateur

voix
1

Je soutiens de l'ancienne:

La syntaxe support carré maxes évident que vous accédez aux membres d'un objet Objective-C, alors que la syntaxe à point indique que vous avez affaire à un struct C (ou union).

Au-delà de cela, il est tout simplement une question de choix personnel et plus / moins de frappe.

Créé 04/03/2009 à 23:52
source utilisateur

voix
0

C ++ et C # programmeurs vont probablement adapter plus naturellement à l'opérateur de point lors de l'accès des variables membres car il a l'usage similaire dans ces langues.

Créé 07/03/2009 à 00:51
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more