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!

Était-ce utile?

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
scroll top