Im recherchant un moyen pratique d'ajouter de nouveaux arguments à plusieurs init-methods. C'est un peu difficile à décrire mais mon problème est le suivant:Objective C - classes de sous-classes avec plusieurs init-methods
J'ai une classe qui implémente diverses init-méthodes. f.e.
@interface Circle {
CGPoint center;
float radius;
}
- (id)initWithCenter:...radius:...;
- (id)initWithRect:...;
- (id)initWithPoly:...;
Maintenant, f.e. Je veux créer un crosshair-classe en tant que sous-classe. Donc je veux ajouter peut-être quelques lignes comme variables d'instance. Donc, le problème est que chaque objet réticulaire doit être initialisé avec des valeurs spécifiques, mais bien sûr les méthodes d'initialisation du cercle ne changeraient pas. donc je veux chaque init-method de la superclasse, mais ajoute ces arguments spécifiques à chacun.
la façon directe (dans mes yeux inexpérimentés) est d'écraser chaque méthode dans laquelle puis j'appelle la super-méthode correspondante et ensuite faire mes affaires. Mais c'est très ennuyeux si vous avez 10 méthodes d'initialisation ou plus et que vous voulez juste ajouter les mêmes arguments à chacun. Donc, je demande si theres une meilleure approche pour accomplir cela? soit avec la possibilité de modifier la superclasse ou sans.
merci beaucoup