Я создал модель, которая имеет в основном вложенный массив пользовательских объектов для использования в приложении типа списка с разделенным видом (как UITableViews). Левый (ведущий) список списков, а правый (деталь) - это списки :) Некоторые другие переменные хранятся в некоторых классах, таких как isSelected, isExpanded ...Ошибка при попытке изменить свойство объекта nscopied
Все эти классы реализуют протокол NSCopying. Когда я делаю копию элемента главного списка и изменяю имя копии, которое работает, но если я что-то изменяю в элементе подробного списка, принадлежащем этому элементу главного списка, он изменяется как в копии, так и в оригинале. Поэтому, я думаю, мой вопрос заключается в том, как создать глубокую копию элемента главного списка. Я думал, что все они будут внедрять протокол NSCopying, это автоматически сделает это. Я действительно не знаю, что поставить для кода, чтобы все, что вам нужно, просто спросить.
Вы должны реализовать «глубокая копия». Довольно просто, так как рекурсия будет обрабатывать большую часть его - просто реализуйте метод 'deepCopy', который проходит через все объекты, непосредственно адресованные из вашего объекта, скопированного и выполняющего' deepCopy' на каждом из них, помещая результат в копию вы создаете. –