我使用以下方式加载自定义对象:
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
我错过了什么?我已经阅读了许多有关复制的问题,但我无法解决我的问题:( 谢谢!