Ios 子类化UITableViewCell&;[tableView dequeueReusableCellWithIdentifier:CellIdentifier]

Ios 子类化UITableViewCell&;[tableView dequeueReusableCellWithIdentifier:CellIdentifier],ios,objective-c,swift,uitableview,Ios,Objective C,Swift,Uitableview,我试图理解[tableView dequeueReusableCellWithIdentifier:CellIdentifier]是如何工作的。以下是我的情况: 我已经在IB中设计了我的UITableViewCell子类,现在我正在尝试在我的子类中设计我的单元格子元素。不幸的是,方法[tableView dequeueReusableCellWithIdentifier:CellIdentifier]似乎没有调用my cells子类中的任何方法。对于方法,我指的是initWithCoder,in

我试图理解
[tableView dequeueReusableCellWithIdentifier:CellIdentifier]
是如何工作的。以下是我的情况:

我已经在IB中设计了我的UITableViewCell子类,现在我正在尝试在我的子类中设计我的单元格子元素。不幸的是,方法
[tableView dequeueReusableCellWithIdentifier:CellIdentifier]
似乎没有调用my cells子类中的任何方法。对于方法,我指的是
initWithCoder
initWithFrame
init

这是我的实际代码:

static NSString *BasicCellIdentifier = @"BasicCell";
GSFeedBasicTableViewCell *basicCell = [tableView dequeueReusableCellWithIdentifier:BasicCellIdentifier];
我的单元格正在显示,但我希望在子类中进一步自定义单元格,以避免在TableController中设置代码样式。任何提示都非常感谢

  • 使用XIB时,需要先注册

    [self.tableView registerNib:[UINib nibWithNibName:@"IBNameofthiscell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"youridentifier"];
    
  • 然后可以使用
    dequeueReusableCellWithIdentifier

  • 如果使用故事板,请不要忘记设置此单元格的类 将标识符设置为您的标识符
  • 3.然后使用此功能

    CustomTableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“cell”forIndexPath:indexPath]

  • 使用XIB时,需要先注册

    [self.tableView registerNib:[UINib nibWithNibName:@"IBNameofthiscell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"youridentifier"];
    
  • 然后可以使用
    dequeueReusableCellWithIdentifier

  • 如果使用故事板,请不要忘记设置此单元格的类 将标识符设置为您的标识符
  • 3.然后使用此功能

    CustomTableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“cell”forIndexPath:indexPath]

  • 使用XIB时,需要先注册

    [self.tableView registerNib:[UINib nibWithNibName:@"IBNameofthiscell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"youridentifier"];
    
  • 然后可以使用
    dequeueReusableCellWithIdentifier

  • 如果使用故事板,请不要忘记设置此单元格的类 将标识符设置为您的标识符
  • 3.然后使用此功能

    CustomTableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“cell”forIndexPath:indexPath]

  • 使用XIB时,需要先注册

    [self.tableView registerNib:[UINib nibWithNibName:@"IBNameofthiscell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"youridentifier"];
    
  • 然后可以使用
    dequeueReusableCellWithIdentifier

  • 如果使用故事板,请不要忘记设置此单元格的类 将标识符设置为您的标识符
  • 3.然后使用此功能


    CustomTableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“cell”forIndexPath:indexPath]

    当您将单元格出列时,将调用子类的
    initWithCoder:
    方法。因此,您可以覆盖它以实现自定义行为。您还可以通过
    awakeFromNib
    方法执行自定义


    如果您完全在代码中设计单元,那么将调用子类的
    initWithStyle:reuseIdentifier:
    方法,而不是
    initWithCoder:
    当您将单元出列时,将调用子类的
    initWithCoder:
    方法。因此,您可以覆盖它以实现自定义行为。您还可以通过
    awakeFromNib
    方法执行自定义


    如果您完全在代码中设计单元,那么将调用子类的
    initWithStyle:reuseIdentifier:
    方法,而不是
    initWithCoder:
    当您将单元出列时,将调用子类的
    initWithCoder:
    方法。因此,您可以覆盖它以实现自定义行为。您还可以通过
    awakeFromNib
    方法执行自定义


    如果您完全在代码中设计单元,那么将调用子类的
    initWithStyle:reuseIdentifier:
    方法,而不是
    initWithCoder:
    当您将单元出列时,将调用子类的
    initWithCoder:
    方法。因此,您可以覆盖它以实现自定义行为。您还可以通过
    awakeFromNib
    方法执行自定义


    如果完全在代码中设计单元,那么子类的
    initWithStyle:reuseIdentifier:
    方法将被调用,而不是
    initWithCoder:

    我使用的是故事板,因此不需要注册nib,对吗?当我使用
    dequeueReusableCellWithIdentifier
    时,在我的子类中会调用什么方法?你能告诉我这个吗?首先,
    initwithCoder
    然后
    awakeFromNib
    。如果你使用的是IB或XIbI,我使用的是故事板,所以不需要注册nib,对吗?当我使用
    dequeueReusableCellWithIdentifier
    时,在我的子类中调用了什么方法?你能告诉我这个吗?首先,
    initwithCoder
    然后
    awakeFromNib
    。如果你使用的是IB或XIbI,我使用的是故事板,所以不需要注册nib,对吗?当我使用
    dequeueReusableCellWithIdentifier
    时,在我的子类中调用了什么方法?你能告诉我这个吗?首先,
    initwithCoder
    然后
    awakeFromNib
    。如果你使用的是IB或XIbI,我使用的是故事板,所以不需要注册nib,对吗?当我使用
    dequeueReusableCellWithIdentifier
    时,在我的子类中调用了什么方法?您能告诉我吗?首先,
    initwithCoder
    然后
    awakeFromNib
    。如果您使用的是IB或XIb