iOS Копирование пользовательского объекта
Я загружаю пользовательский объект, используя:
NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"MyViewItem" owner:nil options:nil];
MyViewItem* myBaseItem = [array objectAtIndex:0];
Чтобы не выполнять действие loadNibNamed, как сто раз в нескольких циклах, которые мне нужно сделать, я планирую использовать этот объект в качестве "базового" объекта, который я буду заполнять различной информацией, но всегда на основе одного и того же дизайна (как в UICollectionView на самом деле).
Моим первым шагом было установить в моем цикле что-то вроде:
for (int i = 0; i < x; i++ ) {
MyViewItem* newItem = [myBaseItem copy];
}
К сожалению, класс MyViewItem пытался получить доступ к "copyWithZone", который я не реализовал. На этом этапе я пытался наследовать NSObject на нем (я думаю, что все NSObject реализует метод "копирования"), но проблема остается с той же ошибкой. Поэтому я попытался унаследовать NSCopying и реализовать свой метод copyWithZone, который заключается в следующем (хотя и не работает):
@interface MyViewItem : UIView <NSCopying>
// some stuff
@end
@implementation MyViewItem
// some stuff
- (id)copyWithZone:(NSZone *)zone
{
MyViewItem* copy = [[MyViewItem allocWithZone:zone] init];
// What should i do here ?
return copy;
}
@end
Что мне не хватает? Я прочитал много вопросов, связанных с копированием, но не смог решить мой:(Спасибо!