В API нет способа скопировать NSManagedObjects
, поскольку они не соответствуют ни NSCopying
, ни NSCoding
. Это имеет смысл, учитывая, что зачастую неясно, как бы вы хотели скопировать такой объект, если он имеет отношения: должен ли он иметь отношения к одним и тем же объектам или их копиям? Как насчет этих копий? Это сложные вопросы, ответы на которые, вероятно, зависят от характера отношений (ко многим или к одному) и, следовательно, от конкретных случаев использования базовых данных.
Итак, короткий ответ: я бы сделал то, что вы делаете в своем фрагменте, или, возможно, напишу метод для создания копии. Похоже, что ваши NSManagedObject
s имеют только простые атрибуты и не имеют отношений, поэтому это должно быть просто.