initwithstyle:reuseIdentifier:未调用

时间:2011-12-15 15:27:15

标签: ios uitableview

我正在创建自己的自定义UITableViewCell以用作原型单元格的后端。在我的类中,我重写initwithstyle:reuseIdentifier:方法来进行一些自定义初始化,但我的初始化程序没有被调用。我在其内部的第一行有一个断点,以及dequeueResusableCellWithIdentifier:上的断点。调用dequeueResusableCellWithIdentifier:方法,它返回一个已启动的单元格,但未达到initwithstyle:reuseIdentifier:中的断点。任何帮助都会很棒。

3 个答案:

答案 0 :(得分:83)

如果您的单元格是从故事板原型(您已在IB中声明为自定义类)创建的,那么它将不会使用initWithStyle...而是initWithCoder:创建,而不是像任何其他对象一样从笔尖加载。如果您有任何设置代码,则应该位于awakeFromNib或{{1}}。

答案 1 :(得分:12)

随着故事板的出现,一切都在变化。这是被调用的方法。

-(id)initWithCoder:(NSCoder *)aDecoder {
    if ( !(self = [super initWithCoder:aDecoder]) ) return nil;

    // Your code goes here!

    return self;
}

答案 2 :(得分:0)

如果您正在使用StoryBoarsd,那么UITableViewContoller将不会调用initWithStyle将其替换为initWithCoder它现在可以正常工作