Общий метод описания Objective-C для печати значений ivar

В Objective-C обычно переопределяют -описание с помощью метода, который печатает идентификатор объекта и имена переменных экземпляра /ценности. Я хочу создать общий -description , который делает это посредством интроспекции, а не вручную для каждого класса. Я бы хотел, чтобы результат был примерно таким:

<ClassName: 0x??????, ivar1: value1, ivar2: value2, ivar3: value3, ...>

Также было бы неплохо отсортировать по имени переменной экземпляра (чтобы они всегда были в одном порядке). Наконец, если бы это можно было поместить в категорию, безопасно переопределяющую функциональность NSObject , это было бы идеально (но я вижу, что это непросто, поскольку NSObject.m имеет предупреждение об использовании - [NSString stringWithFormat:] в -описание ).

9
задан jrdioko 16 June 2011 в 17:52
поделиться