Множественное наследование не является объектом Objective-C. В лучшем случае вы можете иметь как ваш подкласс UITextView, так и ваш подкласс UIView реализовать общий протокол. Конечно, это будет означать, что вам придется дублировать код.
Я считаю, вы можете добиться желаемого эффекта с помощью категорий. Вы можете добавлять свойства во время выполнения Усиливая ObjC/runtime.h (заимствованный из NSHipster)
#import "UIView+MyView.h"
#import <objc/runtime.h>
static const void *IndieBandNameKey = &IndieBandNameKey;
@implementation UIView (MyView)
@dynamic indieBandName;
- (NSString *)indieBandName {
return objc_getAssociatedObject(self, IndieBandNameKey);
}
- (void)setIndieBandName:(NSString *)indieBandName {
objc_setAssociatedObject(self, IndieBandNameKey, indieBandName, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
@end
Поскольку UITextView подкласс UIView, методы вы положили в категорию UIView будет применяться к вашему UIView подклассу, а также вашему UITextView подкласс. Кроме того, вы также сможете получить доступ к этим динамически созданным свойствам в ваших методах категорий, что позволит вам использовать эти «переменные-члены», которые вы сейчас объявили.
Категории и единичное наследование являются инструментами. Нам нужно посмотреть на особенности, чтобы увидеть, как еще вы могли бы достичь своей цели. Но нет другой альтернативы, подобной наследованию, если это то, на что вы надеетесь. – danh