que vous avez eu les deux constructeurs suivants:- appeler un constructeur d'un autre
- (id)initWithTitle:(NSString *)title;
- (id)initWithTitle:(NSString *)title page:(NSString *)page;
Le second constructeur est pas différent du premier, sauf qu'il met en place la variable membre « page ». Puisqu'il doit essentiellement faire la même chose, y a-t-il un moyen d'appeler le premier à partir du second pour réduire la duplication du code, ou devez-vous mettre en place une troisième méthode pour effectuer les tâches courantes?
Je parle de quelque chose de semblable à cela, même si je doute que cela fonctionne:
- (id)initWithTitle:(NSString *)_title {
if(self = [super init]) {
self.title = _title;
}
return self;
}
- (id)initWithTitle:(NSString *)_title page:(NSString *)_page {
if(self = [self initWithTitle:_title]) {
self.page = _page;
}
return self;
}
@phunehehe a une meilleure solution, mais ce que vous avez posté * fonctionnera. –
Euh, je suppose que ça va, maintenant que j'y pense. Merci – synic
Plus tôt vous abandonnerez les termes C++ et commencerez à utiliser les termes Objective-C, plus tôt la documentation commencera à avoir du sens. Objective-C n'a pas de constructeurs ou de variables membres. Il a des initialiseurs et des variables d'instance. – bbum