Ceci est une question de choix personnel. Il y a ceux qui soutiennent que la notation point fait qu'il est peu clair que des messages sont envoyés (des méthodes sont appelées) car cela ressemble simplement à un accès à un élément de structure de style C. L'autre argument est que la notation point est plus facile à taper, plus facile à lire et plus concise.
En tant que quelqu'un qui écrit de l'Objective-C depuis avant l'introduction de la notation point (dans Objective-C 2.0), je comprends les arguments des deux côtés, mais je préfère utiliser la notation point moi-même. Cela dit, je pense qu'il est important pour les personnes débutant avec l'Objective-C de comprendre que la syntaxe de la notation point est convertie en appels de méthode d'accessor standard lors de la compilation. Je pense que les auteurs du livre Big Nerd Ranch ont probablement une attitude similaire, et c'est en grande partie pour cela qu'ils ont décidé d'utiliser la notation entre crochets dans le livre.
En résumé, faites ce que vous préférez. Les deux sont valides, et le choix entre les deux est essentiellement une question de style. Peu importe lequel vous choisissez, assurez-vous de comprendre que les deux styles produisent un code compilé équivalent.
MODIFICATION : J'ai oublié de répondre à la question sur la conversion de la notation point en syntaxe entre crochets. Vous êtes proche, mais ce que vous avez écrit est incorrect et ne compilera pas réellement. Cela devrait être : [[self display] setText:[[[self display] text] stringByAppendingString:digit]]
. Si j'écrivais cela, je le diviserais en deux lignes (en fait, j'utiliserais la notation point) :
NSString *stringWithDigit = [[[self display] text] stringByAppendingString:digit];
[[self display] setText:stringWithDigit];
MODIFICATION 2 : Cela fait plus de 3 ans que j'ai écrit cette réponse. Je voulais juste mentionner qu'aujourd'hui, beaucoup plus de classes de framework Apple ont eu des choses qui étaient auparavant des méthodes régulières converties en @propriétés (par exemple -[NSArray count]
) probablement pour une meilleure interopérabilité avec Swift. Cela m'a amené à utiliser la notation point encore plus librement qu'auparavant.