我的自定义CustomTableViewCell : UITableViewCell
位于@property(nonatomic, retain) Model* model;
。还有一个带有一个视图的xib文件(具有正确配置的类和重用标识符的单元)。在我的自定义单元格类中,有一个- init
实现:
- (id)init
{
NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil];
CustomTableViewCell* cell = [[array firstObject] retain];
self = cell;
self.model = [[Model alloc] init] autorelease];
self.model.someString = @"foo";
// here I can access self.model with no problem
return self;
// after method return, self.model refers to 0x0
}
我的问题是... - init
返回后,self.model
为零。单元格正在工作,但没有model
。我不知道为什么。有任何想法吗?我想,我的- init
不是犹太人......
我发现,返回后模型为nil no,但是在调用表视图数据源方法时。表视图也指当时的0x0让我惊讶的是什么。完全奇怪!谢谢你的努力,我将用代码做我的单元格......
答案 0 :(得分:2)
您是否在实施中合成了模型?
@synthesize model;
答案 1 :(得分:2)
您不应在init方法中使用dot属性语法。基本上是因为整个对象可能尚未完全设置。试试这个:
model=[Model alloc] init];
model.someString=@"foo";
你也应该在用你的ivars做其他事情之前检查一下self是否为零
祝你好运。答案 2 :(得分:2)
[Model alloc] init]
的结果,确保值不是nil。model
,确保它未分配。model
的{{1}}仍为零,请在此处发布更多代码。