2012-12-19 41 views
0

我有一个custom celltextfield作为子视图。将单元设置为textfield的代表是否合法?自定义UITableViewCell委托其子视图?

我想将单元格设置为委托,因为它是父视图,但是当我这样做时,应用程序崩溃。我想这是因为table view dequeue cells,也许这就是为什么代表参考在两者之间迷失的原因。 所以,我试图设置cellForRowAtIndexPath的委托,以确保它每次都新鲜设置,但它仍然无法工作。

难道我真的不得不提高水平,让tableview controller成为单元格子视图的代表吗?还是我缺少别的东西?

崩溃报告输出:

>libobjc.A.dylib`objc_msgSend: 
> 
0x32ed4f78: ldr r3, [r4, #8] 
> 

initWithStyle我

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier type: (NSString *)cellType 
{ 

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
if (self) { 
    // Initialization code 
    NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"Custom Cell" owner:self options:nil]; 
    self = [nibArray lastObject]; 

    self.cellType = [NSString stringWithString:cellType]; 
    self.contentText.autoresizingMask = UIViewAutoresizingNone; 
    self.detailLabel.autoresizingMask = UIViewAutoresizingNone; 
    self.contentText.delegate = self; 
} 
return self; 
} 

回答

0

有不如授人以单元格中的文本字段自定义单元格是没有问题的。表视图将在需要时重用某些单元格,但不会影响任何内容。我想你错过了别的东西。也许我可以提供帮助,如果你发布了它在崩溃时得到的错误和相应的代码片段。

+0

谢谢拉维,我发布了我的代码 –

+1

在你的情况下,错误“objc_msgSend”似乎发生,因为该对象被释放。您可能需要发布完整的错误消息,以了解哪种方法导致错误。另外,像endy提到的,你并不需要在你的表视图委托/数据源方法中分配委托。 – Ravi

0

不要将delegatecellForRowAtIndexPath.

在你UITableViewCell子类中添加的UITextFieldinitWithStyle方法,然后在那里设置delegateself

+0

感谢您的回复!我的第一种方法是在initWithStyle中设置它,但然后它失败了,所以我转移到cellForRow,但无论如何他们不能正常工作 –