UIViewController init vs initWithNibName:bundle:
Dans mon application que je suis en poussant une-vue-contrôleur (un UITableViewController) qui a aussi une propriété/prise de référencement de UITableViewCell. Il semble que la création du contrôleur:
PreferencesController *pController = [[PreferencesController alloc] init];
ne pas créer l'objet pour le UITableViewCell dans le fichier xib, donc la sortie est nulle, donc la table de chargement génère une exception.
J'ai résolu ce problème avec:
PreferencesController *pController = [[PreferencesController alloc] initWithNibName:@"PreferencesController" bundle:nil];
mais je n'ai pas vraiment pourquoi il a travaillé, comme de la documentation, il semble que init doit être suffisante pour charger la relative plume fichier (PreferencesController.xib).
OriginalL'auteur Fr4ncis | 2011-05-31
Vous devez vous connecter pour publier un commentaire.
Il semble y avoir quelque chose de magique à propos du nom
PreferencesController
. Je viens d'avoir exactement le même problème. Renommage de ma classe (et xib) à quelque chose d'autre a résolu le problème.OriginalL'auteur Tony
Edit: j'ai été incorrect, plume fichiers doit se charger automatiquement avec
alloc init
si elles portent le même nom que le contrôleur.Qu'est-ce que votre Propriétaire du Fichier dans l'Interface Builder? Le comportement par défaut peut être modifié en changeant cette valeur.
OriginalL'auteur pkananen
Vous devez remplacer les
initWithNibName:bundle:
au lieu deinit
parce que c'est la "désigné initialiseur". Lorsque vous chargez à partir d'un fichier Nib, c'est le créateur du message que l'on appelle.Ressources
OriginalL'auteur Cody A. Ray