Comment bien Init personnalisé UITableviewCell?

Je suis en utilisant les 2 méthodes suivantes pour renvoyer une cellule personnalisé:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSString *key = [self keyForIndexPath:indexPath];
    UITableViewCell *cell;

    if ([key isEqualToString:DoneButtonCellKey]) {
        cell = [self [self doneButtonCellForIndexPath:indexPath];
        return cell;
    } else {
        //code to return default cell...
    }
} 

Alors:

- (DoneButtonCell *)doneButtonCellForIndexPath: (NSIndexPath *)indexPath {

    DoneButtonCell *cell = [self.tableView dequeueReusableCellWithIdentifier:DoneButtonCellIdentifier forIndexPath:indexPath];
    return cell;

}

Quelle est la bonne méthode init à utiliser avec la cellule ici afin que je puisse modifier certaines propriétés de la cellule lorsqu'il est initialisé?

EDIT: j'ai trouvé le problème, comme l'init/awakeFromNib méthodes n'ont pas été appelés pour moi. J'ai traqué l'erreur et c'était que je n'avais pas changé la "Classe Personnalisée" de UITableViewCell de ma classe personnalisée. Maintenant awakeFromNib ET initWithCoder fonctionne comme décrit ci-dessous.

  • La cellule est déjà init avais à l'intérieur de la dequeueReusablCellWithIdentiier: Méthode, vous pouvez modifier tous les paramètres avant de vous le retourner !, ce params vous souhaitez modifier ?
  • J'espérais que je pourrais établir un certain nombre de choses, y compris l'étiquette de texte.numberOfLines, ou backgroundColor etc. Mais c'est tous les trucs que je ne veux pas avoir à faire à chaque fois, j'instancie une cellule.
  • Je comprends que vous, alors vous devez le faire dans le DoneButtonCell classe, dans la awakeFromNib méthode, je vais poster une réponse pour vous montrer comment
  • Qui méthode init est appelée dépend de la façon dont vous créez vos cellules. Êtes-vous créer entièrement dans le code, dans un xib, ou dans un storyboard?
  • Je suis à l'aide de fichiers xib. initiWithCoder, awakeFromNib, et initWithStyle ne sommes pas tous appelés
  • Pour moi, j'avais une cellule de base de la classe et les classes dérivées n'étaient pas appel à [super awakeFromNib]. Le "MODIFIER" vous avez fourni dans la question d'origine d'une certaine manière m'a conduit à la solution à mon problème. Merci!