Dot Operator in Objective-C 2.0

stemmen
3

Gewoon oppakken van Objective-C 2.0 en wilde weten of er een voordeel in het gebruik van de puntoperator voor toegang tot eigenschappen in plaats van de oude manier. Kort voorbeeld van wat ik bedoel.

oude weg:

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

nieuwe manier:

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

Bedankt!

Rodrigo

De vraag is gesteld op 04/03/2009 om 23:41
bron van user
In andere talen...                            


5 antwoorden

stemmen
7

Het enige verschil is het gemak van het typen en leesbaarheid. Het advies van die beter leesbaar is, verschilt van persoon tot persoon :)

antwoordde op 04/03/2009 om 23:44
bron van user

stemmen
2

Ik heb eigenlijk hou van de nieuwe syntaxis - maar misschien omdat ik werk als Python programmeur.

De dot-pand syntax mazen keurig met key-paden in KVC / KVO. Het ziet er netter mijn ogen dan geneste haakjes (en ik hou van de regeling, dus ik ben niet gekant tegen haakjes nesten!), En maakt het expliciet als u toegang tot een woning, in plaats van het passeren van een bericht - ook al is het mechanisme is de dezelfde.

En, ik zie eigendom toegang van een object dat (in principe) dezelfde handeling uit als de toegang tot leden van een structuur of unie, zodat de syntaxis moet hetzelfde zijn.

antwoordde op 05/03/2009 om 00:09
bron van user

stemmen
2

Ik gebruik de puntsyntaxis als ik aflopend een object en gebruik de beugel aan een woning daadwerkelijk in te stellen.

Als volgt:

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

In plaats van:

[[self view] setFrame:CGRectMake(0, 0, 320, 480)];
antwoordde op 04/03/2009 om 23:57
bron van user

stemmen
1

Ik zal pleiten voor de oude manier:

De vierkante bracket syntax maxes het duidelijk dat u toegang tot leden van een Objective-C object, terwijl de puntnotatie aangeeft dat u te maken met een structuur C (of eenheid).

Beyond dan dat, het is gewoon een kwestie van persoonlijke keuze en meer / minder te typen.

antwoordde op 04/03/2009 om 23:52
bron van user

stemmen
0

C ++ en C # programmeurs zal waarschijnlijk meer op natuurlijke wijze aan te passen aan de puntoperator bij het openen van lidvariabelen, omdat het heeft vergelijkbare gebruik in die talen.

antwoordde op 07/03/2009 om 00:51
bron van user

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