iOS复制自定义对象

时间:2014-03-18 09:51:09

标签: ios copy copywithzone

我使用以下方式加载自定义对象:

NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"MyViewItem" owner:nil options:nil];
MyViewItem* myBaseItem = [array objectAtIndex:0];

为了不在我必须做的几个循环中执行loadNibNamed动作一百次,我计划将此对象用作" base"我将用不同的信息填充的对象,但总是基于相同的设计(实际上就像在UICollectionView中)。

我的第一步是在我的循环中设置:

for (int i = 0; i < x; i++ ) {
    MyViewItem* newItem = [myBaseItem copy];
}

不幸的是,MyViewItem类试图访问&#34; copyWithZone&#34;,我没有实现。在这一点上,我试图在它上继承NSObject(我认为所有NSObject都实现了#34; copy&#34;方法),但问题仍然存在同样的错误。 所以我试图继承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

我错过了什么?我已经阅读了许多有关复制的问题,但我无法解决我的问题:( 谢谢!

0 个答案:

没有答案