Chiedo se qualcuno potrebbe far luce su questo costrutto di messaggistica:
La documentazione dice che i messaggi appaiono tra parentesi [] e che il target / oggetto msg è a sinistra, mentre il msg stesso (e tutti i parametri) è a destra:
[msgTarget msg], ad es. [myArray insertObject:anObject atIndex:0]
OK, abbastanza semplice ... ma poi introducono l'idea che è conveniente annidare msgs al posto dell'uso di variabili temporanee - Prenderò la parola per questo - quindi l'esempio sopra diventa:
[[myAppObject theArray] insertObject:[myAppObject objectToInsert] atIndex:0]
In altre parole, [myAppObject theArray]
è un msg nidificato, uno e due, 'theArray' è il 'messaggio'. Beh, dire che trovo questo confuso è un po 'un eufemismo ... Forse sono solo io ma' theArray 'non evoca un messaggio semanticamente o grammaticalmente. Che cosa assomiglia a un tizio che sa che Java è un tipo / classe. In Java facciamo cose come
Class objectInstance = new Class() ...
il bit a sinistra dell'operatore di assegnazione è ciò che questo cosiddetto messaggio annidato mi ricorda di ... con posizioni oggetto e classe / tipo commutate naturalmente. Ad ogni modo, ogni intuizione è molto apprezzata.