iOS复制自定义对象

iOS复制自定义对象,ios,copy,copywithzone,Ios,Copy,Copywithzone,我使用以下命令加载自定义对象: NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"MyViewItem" owner:nil options:nil]; MyViewItem* myBaseItem = [array objectAtIndex:0]; 为了避免在我必须执行的几个循环中执行loadNibNamed操作一百次,我计划将此对象用作“基本”对象,我将使用不同的信息填充它,但始终基于相同的设计(实际上就像在UICollecti

我使用以下命令加载自定义对象:

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];
}
for(int i=0;i
不幸的是,MyViewItem类试图访问我没有实现的“copyWithZone”。在这一点上,我尝试在其上继承NSObject(我认为所有NSObject都实现了“copy”方法),但问题仍然是相同的错误。 因此,我尝试继承NSCopying,并实现我的copyWithZone方法,如下所示(但不起作用):

@接口MyViewItem:UIView
//一些东西
@结束
@实现MyViewItem
//一些东西
-(id)copyWithZone:(NSZone*)区
{
MyViewItem*copy=[[MyViewItem allocWithZone:zone]init];
//我在这里该怎么办?
返回副本;
}
@结束
我错过了什么?我读过很多关于复制的问题,但我无法解决我的问题:(
谢谢!

实际上是可能的副本,也许我错过了解释我的问题的核心:我想做的是使用一个.xb来生成多个对象。我的第一个方法是尝试复制它。我不特别需要使用一个拷贝。你应该考虑一下你的问题,然后问你需要一个AN的问题。如果你的对象调用了CopyOffStand:通过链接我回答的问题……我确实考虑了其他的选择,但是在这里我正在寻找这个解决方案的信息。考虑到你的链接(我已经看到),这里的主要区别是我必须复制一个用“LosiNbBeND”原生方法创建的对象,而不是一个“简单”的对象。自定义类。
@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