У меня есть класс, и я хочу настроить то, что печатается, когда я вызываю NSLog с этим классом. Например,NSLog и печать объекта
NSLog (@ "% @", нестандартный объект);
Как настроить объект, чтобы он распечатывал то, что я хотел?
У меня есть класс, и я хочу настроить то, что печатается, когда я вызываю NSLog с этим классом. Например,NSLog и печать объекта
NSLog (@ "% @", нестандартный объект);
Как настроить объект, чтобы он распечатывал то, что я хотел?
Переопределить метод -description
. Он не принимает никаких параметров и возвращает NSString
, которые получают printf
'd out.
Существует еще один вариант, называемый -debugDescription
(возвращает NSString
, без параметров), который используется, когда po'ing объект из gdb.
При подклассификации классов, отличных от NSObject, стоит рассмотреть возможность добавления вызова '[super description]' перед выдачей результатов для iVars подкласса. – Abizern
@Abizern - только если вы планируете использовать строку, которую 'супер' дает вам. Есть ли еще одна причина, по которой вам нужно описать супер? –
@Dave. Точно, пусть супер обрабатывает свое описание, и ваш класс может обрабатывать выходные данные для любых добавленных iVars. Как я сказал; это то, что нужно учитывать. – Abizern