Ci sono due funzioni che puoi SE.
- (NSString*)description
Questo verrà visualizzato quando si inserisce l'oggetto come, I.E. un parametro per NSLog
. L'altra funzione descrizione è:
- (NSString*)debugDescription
Questo sarà chiamato quando si esegue po anInstanceOfYourClass
nella finestra di comando di debug. Se la tua classe non ha una funzione debugDescription
, verrà chiamato solo description
.
Si noti che la classe base NSObject
ha description
implementata, ma è piuttosto ridotta all'osso: visualizza solo l'indirizzo dell'oggetto. Questo è il motivo per cui ti consiglio di implementare description
in qualsiasi classe di cui desideri ottenere informazioni, specialmente se utilizzi il metodo description
nel tuo codice. Se usi il codice description
, ti suggerisco di implementare anche lo debugDescription
, rendendo anche più dettagliato il debugDescription
.
Nota se stai usando CoreData, la proprietà 'description' [è riservata] (http://stackoverflow.com/questions/4717519/why-cant-i-use- description-as-an-attribute-name-for-a-core-data-entity) ... e fornirà utili informazioni di debugging! In tal caso dovrai trovare il tuo nome di metodo univoco. – Nuthatch
Anche 'debugDescription' è riservato? Anche se penso che 'DebugDescription' dovrebbe essere usato da un debugger come LLDB. – MaddTheSane