[Résolu ?]Enrichir UIViewController : comment déclarer une catégorie au-dessus d'une classe s
colas_
Membre
Bonjour à tous !
Voici la question d'archi Objective-C que je me pose. Je souhaiterais enrichir la classe UIViewController. Pour cela, j'ai besoin que l'utilisateur me fournisse quelques méthodes. Ensuite j'aimerais écrire des méthodes qui seront toujours valables qui utilisent ces méthodes.
Je souhaite créer un protocole <DynamicViewController> qui aurait les méthodes
@protocol DynamicViewController
@property NSUInterger currentTime ;
- (UIView *)viewAtTime:(NSUInteger) ;
@property CBDDynamicsManager * dynamicsManager ;
@end
et ensuite j'aimerais créer une catégorie au-dessus de UIViewController<DynamicViewController> qui aurait les méthode
@interface UIViewController<DynamicViewContoller> (DynamicVC)
- (void)stepForward ;
- (void)stepBackward ;
- (void)lauchDynamics ;
- (void)stopDynamics ;
...
@end
mais je crois que ça ne marche pas...
Savez-vous comment faire ?
Merci ! Colas
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bon, en écrivant le message, j'ai eu une idée : au lieu de faire une catégorie, sous-classer :
Apparemment, c'est le manque des classes abstraites en objective-C...
cf http://programmers.stackexchange.com/questions/175098/adhering-to-a-protocol-and-being-a-subclass-at-the-same-time
Mais, dans ce cas, pourquoi définir un protocole ?
Pourquoi ne pas mettre toutes les méthodes dans la sous-classe ?
Problème : j'aimerais que certaines de ces méthodes à implémenter par les sous-classes soient privées...
Ce n'est pas un problème ! (avec une class extension Private dans un fichier séparé p.ex.)