У меня есть NSArray из MyObjects.
Я хочу продублировать последний объект моего массива. Другими словами, я хочу добавить новый объект в массив, который точно такой же, как и в предыдущем.
Я пытался с:
id object = [[self arrangedObjects] lastObject];
id newObject = [object copy];
Но я понял, что не могу использовать метод копирования, потому что он не реализован в NSObject.
Должен ли я реализовать метод copy в классе MyObject, возвращая новый экземпляр MyObject и изменив код следующим образом:
MyObject object = [[self arrangedObjects] lastObject];
MyObject newObject = [object copy];
Или есть другие растворимые вещества?
UPDATE
Из документации NSObject
NSObject не поддерживает сам протокол NSCopying. Подклассы
должен поддерживать протокол и реализовывать метод copyWithZone:.
версия подкласса copyWithZone: метод должен отправить сообщение
супер сначала, чтобы включить его реализацию, если подкласс
происходит непосредственно от NSObject.