È anche possibile sovrascrivere [NSObject debugDescription] che viene chiamato dal debugger. È ciò che viene chiamato quando si usa "print to console" nel debugger. Puoi anche chiamarlo direttamente in un NSLog.
Per impostazione predefinita nella maggior parte delle classi debugDescription
basta chiamare description
ma è possibile farli restituire stringhe separate. È un buon posto per caricare l'output con i dettagli.
Le categorie sono un buon posto per parcheggiare il metodo sia per le classi personalizzate che per le classi esistenti. Ciò è particolarmente utile perché è possibile includere la categoria in una build di debug ma escluderla nella versione. Se la categoria non è presente, il codice chiama invece il metodo di classe predefinito.
Ho una categoria di debug per UIView che scarica tutti gli attributi che potrei pensare. Se colpisco un brutto bug, includo semplicemente la categoria e poi posso vedere tutto su ogni vista direttamente nella console del debugger.
Il collegamento è alla documentazione per i dati principali: si desidera sovrascrivere il metodo di descrizione per un oggetto NSManagedObject o qualcos'altro? –
Non credo - è una sottoclasse NSObject che contiene i dati per un riquadro di delimitazione spaziale e alcune operazioni su questo. La descrizione della stringa è fondamentalmente una lista separata da virgola delle coordinate in basso a sinistra e in alto a destra. – mvexel