Objective-C: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Implementazione: Formato codice
Etichette: Modifica da mobile Modifica da web per mobile
Riga 147:
...
}
+ metodoDiClasse2
{
// implementazione
Riga 212:
Le rappresentazioni interne di questi metodi possono variare con le diverse implementazioni di Objective C.
 
Se ''MyColor''<code>myColor</code>, nell'esempio precedente, fosse della classe ''<code>Color''</code>, internamente il metodo d'istanza ''<code>-changeColorWithRed:green:blue:'' </code> potrebbe essere etichettato ''<code>_i_Color_changeColorWithRed_green_blue''</code>, dove ''</code>i''</code> seguito dal nome della classe, si riferisce al fatto che è un metodo d'istanza ed i due punti (:) sono sostituiti dal [[trattino basso]] (_). Dato che l'ordine dei parametri fa parte del nome del metodo, esso non può essere cambiato.
 
In ogni caso i nomi interni delle funzioni sono usati raramente in maniera diretta e generalmente anche i messaggi inviati sono convertiti in funzioni definite in librerie di [[run-time]] e non accedono direttamente ai nomi interni. Ciò è dovuto anche al fatto che al momento della [[compilazione]] non sempre si conosce quale metodo sarà effettivamente chiamato, perché la classe del destinatario (l'oggetto a cui viene inviato il messaggio) potrebbe essere sconosciuta fino al run-time.