Je veux mettre en œuvre une classe UIView mobile (vue se déplace lorsque vous appuyez dessus et déplacez votre doigt), par exemple:a besoin d'héritage multiple en Objective C
@interface MovableView : UIView {
some members;
}
-touchesBegan;
-touchesMoved;
@end
Comment puis-je appliquer ce code à UILabel, UIButton etc sans héritage multiple? En C++, je ferais comme ça (avec UIView comme base virtuelle MovableView):
struct MovableLabel : UILabel, MovableView {};
Les catégories sont proposées comme une alternative à l'héritage multiple, mais je ne veux certainement pas à mesure UIView utilisant des catégories parce que cela s'appliquerait à toutes les vues dans mon application. Je veux seulement que certaines de mes opinions soient mobiles. Ma stratégie actuelle pour éviter la duplication de code est de mettre du code MovableView dans un fichier d'en-tête et de l'inclure à chaque fois que j'ai besoin d'une classe pour l'utiliser. En plus de cela, je dois ajouter des membres de MovableView à n'importe quelle classe que j'écris. C'est de la pure laideur de code mais mieux que copier/coller du code partout dans mon projet.
Est-ce que quelqu'un a d'autres idées pour contourner cette limitation Objective C [de ne pas avoir hérité multiple]?
Merci,
Altan
duplication possible de [héritage multiple dans Objective C] (http://stackoverflow.com/questions/5951388/multiple-inheritance-in-objective-c) – Mark