iPhone initialiser une UIViewController avec des données supplémentaires
-
24-09-2019 - |
Question
J'ai une sous-classe de UIViewController personnalisée, qui est poussé sur une pile de UINavigationController. Je veux ajouter des données de mon propre au moment de l'initialisation / pousser. Si I
a) écrire une méthode d'initialisation personnalisée avec mes données comme argument, comme celui-ci?
MyCustomViewControllerSubclass.m:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle myCustomData:(NSData *)data{
if(self = [super initWithNibName:nibName bundle:nibName]){
//do stuff with my data
}
return self;
}
ou b) ajouter une propriété à mon viewcontroller qui stocke mes données personnalisées, puis l'ajouter après l'initialisation?
Y at-il un avantage / désavantage dans l'une de ces approches ou est-il une autre façon de le faire?
Très heureux pour les réponses!
La solution
Tout à fait, je le fais tout le temps. Mieux encore, oublier complètement et faire les choses de nom nib:
- (id) initWithMyCustomData: (id) customData
{
if(self = [super initWithNibName: @"MyNibName" bundle: nil]){
//do stuff with my data
}
return self;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow