Мало того, что это возможно, но у меня есть друг, который сделал именно это. (Вы можете увидеть его блог об этом здесь .) Отражение выполняется с помощью функций времени выполнения Objective C, описанных в Справочнике по времени выполнения Objective C 2.0 . Взгляни.
Обратите внимание, однако, что это будет работать только в том случае, если вам нужно общее поведение сохранения всех переменных экземпляра. Возможно, вы не захотите, чтобы NSView сохранял свое суперпредставление; в таких случаях общий случай не будет работать.
Вы могли бы различить вещи, которые нужно сериализовать, и вещи, которые не нужно сериализовать, объявив свойства для любых переменных экземпляра, которые вы хотите сохранить, и оставив все остальные переменные «скрытыми», но это искажает всю цель свойств: небольшая выгода. Я бы не рекомендовал это.