Dot Operator v Objective-C 2.0

hlasů
3

Jen zvedl Objective-C 2.0 a chtěl vědět, jestli existuje nějaký výhoda při použití operátoru tečky pro přístup k vlastnostem namísto „starého“ způsobem. Krátký příklad toho, co mám na mysli.

„Starý“ způsob:

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

nová cesta:

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

Dík!

Rodrigo

Položena 04/03/2009 v 23:41
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
7

Jediným rozdílem je snadné psaní a čitelnosti. Názor, který je čitelnější se liší od člověka k člověku :)

Odpovězeno 04/03/2009 v 23:44
zdroj uživatelem

hlasů
2

Vlastně jsem rád novou syntaxi - ale možná proto, že pracuji jako Python programátor.

Syntaxe tečka-property zapadá pěkně s klíčových cest v KVC / KVO. Vypadá to úhlednější do mých očí, než vnořené závorky (a líbí se mi schéma, takže nejsem na rozdíl od závorky hnízdění!), a dělá to explicitní když jste přístupu k majetku, spíše než předání zprávy - a to i přesto, že mechanismus je stejný.

A vidím přístup vlastnost objektu (v podstatě) stejné operace jako přístup k členy struct nebo unie, tak syntaxe by měla být stejná.

Odpovězeno 05/03/2009 v 00:09
zdroj uživatelem

hlasů
2

I použít syntaxi tečky při mi klesající objekt a používat konzolu skutečně nastavit vlastnost.

Jako tak:

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

Namísto:

[[self view] setFrame:CGRectMake(0, 0, 320, 480)];
Odpovězeno 04/03/2009 v 23:57
zdroj uživatelem

hlasů
1

Budu argumentovat pro starým způsobem:

Syntaxe square konzola maxes je zřejmé, že jste vstoupili členy objektu Objective-C, zatímco tečka syntaxe ukazuje, že máte co do činění s C struct (nebo Unie).

Beyond, než to, že to je prostě věc osobní volby a více / méně psaní.

Odpovězeno 04/03/2009 v 23:52
zdroj uživatelem

hlasů
0

C ++ a C # programátory pravděpodobně více přirozeně přizpůsobí operátorem tečky při přístupu k členské proměnné, protože má podobné využití v těchto jazycích.

Odpovězeno 07/03/2009 v 00:51
zdroj uživatelem

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