Attualmente sto imparando da solo la programmazione con obiettivi c e iOS e mi sono trovato bloccato con codice non funzionante a causa di questo errore sottile per un'ora. Si consideri il seguente codice:Nome metodo vuoto, cosa fa effettivamente?
@property (strong, nonatomic) NSString *name;
- (NSString *):name { return @"Some name"; }
A prima vista (e per chiunque nuovo) questo appare come un getter override per la proprietà name
. Ma c'è un molto sottile : che non dovrebbe essere lì. Qui non ottieni nessun avvertimento/errore dal compilatore/parser/runtime, quindi la mia domanda è: in che cosa finisce effettivamente?
Ho provato a immaginare un modo di chiamare questo metodo una volta che ho visto l'errore, ma non sono riuscito nei miei pochi tentativi.
+1, semplicemente per "Se dovessi pronunciare il nome di questo metodo, sarebbe semplice chiamarlo ... due punti". – Perception
In realtà, il nome del metodo è "stringa vuota". Quando si parlano i nomi dei metodi, in genere non si dicono i due punti, anche se sono lì ... confusi, lo so ... ma è un po 'come "," s in lingua inglese. Una pausa o connettore, ma non parlato. – bbum
@bbum In realtà Apple afferma che il modo ufficiale per dire un metodo è quello di dire tutti i due punti. Guardando la linea nella documentazione in questo momento ... –