Dot Operatør i Objective-C 2.0

stemmer
3

Bare plukke opp Objective-C 2.0 og ønsket å vite om det er noen fordel i å bruke dot operatør for tilgang eiendommer i stedet for den gamle måten. Kort eksempel på hva jeg mener.

Gamle måten:

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

ny måte:

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

Takk!

Rodrigo

Publisert på 04/03/2009 klokken 22:41
kilden bruker
På andre språk...                            


5 svar

stemmer
7

Den eneste forskjellen er enkel å skrive og lesbarhet. Den oppfatning av noe som er mer lesbare forskjellig fra person til person :)

Svarte 04/03/2009 kl. 22:44
kilden bruker

stemmer
2

Jeg faktisk liker den nye syntaksen - men kanskje fordi jeg jobber som Python programmerer.

Dot-eiendom syntaks maskene pent med nøkkel stier i KVC / KVO. Det ser penere i øynene enn nestede parenteser (og jeg liker ordningen, så jeg er ikke imot parentes hekkende!), Og gjør det eksplisitt når du åpner en eiendom, i stedet for å sende en melding - selv om mekanismen er samme.

Og, jeg ser eiendom tilgang til et objekt som (i utgangspunktet) den samme operasjon som tilgang til medlemmer av en struct eller forening, så syntaksen bør være den samme.

Svarte 04/03/2009 kl. 23:09
kilden bruker

stemmer
2

Jeg bruker dot syntaks når jeg synkende et objekt og bruke braketten til å faktisk sette en eiendom.

Som så:

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

I stedet for:

[[self view] setFrame:CGRectMake(0, 0, 320, 480)];
Svarte 04/03/2009 kl. 22:57
kilden bruker

stemmer
1

Jeg vil argumentere for den gamle måten:

Den firkantede-braketten syntaks får maksimalt det åpenbart at man har tilgang til medlemmer av en Objective-C objekt, mens dot syntaks viser at man har å gjøre med en C struct (eller union).

Utover enn det, er det bare et spørsmål om personlig valg og mer / mindre skrive.

Svarte 04/03/2009 kl. 22:52
kilden bruker

stemmer
0

C ++ og C # programmerere sannsynligvis mer naturlig tilpasse seg dot operatør ved tilgang til medlemsvariable siden det har lik bruk i disse språkene.

Svarte 06/03/2009 kl. 23:51
kilden bruker

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