Je crée une sous-classe de UIBarButtonItem, pour fournir certaines fonctionnalités spécifiques.Remplacer la méthode héritée en tant que private dans objectif-c
La nouvelle classe a un initialiseur, qui est le seul qui doit être utilisé lors de la création d'une instance de la classe:
- (id) initWithSomeObject:(SomeObject *)param;
Le problème est, tous les initialiseurs de UIBarButtonItem sont encore disponibles, donc je pourrait créer une instance de ma nouvelle classe en utilisant quelque chose comme
MyCustomUIBarButtonItem *button = [[MyCustomUIBarButtonItem alloc] initWithBarButtonSystemItem:systemItem target:target action:action];
ou autre chose ...
est-il un moyen de cacher les initialiseurs de UIBarButtomItem dans ma sous-classe, de sorte qu'ils ne peuvent pas être utilisés?
En fonction des détails particuliers ici, il peut également être possible de remplacer les initialiseurs hérités de telle sorte que la chaîne d'initialisation dans la sous-classe mène à la nouvelle DI. –