我有一个自定义类。我希望如果有任何其他类实例化它,那么它“必须”有一些特定的方法。如何做到这一点?我不想继承它,因为我没有添加任何额外的功能或以任何方式修改它的功能。我想到了自定义协议,但我的班级如何知道“只有当定义的协议由正在实例化它的类实现时,它才应该允许实例化自己。”
场景
classA : base-class classB : base-class classM
具有 type 的属性base-class
。我设置为objclassA
or objclassB
。ClassA
&classB
实例化classM
然后objclassM`` calls method
回调 classA method which is in both
classB &
classM. warning in
基类可能不响应回调`
@protocol UITableViewMgrDelegate
@required
-(void)tableRowSelected:(int)idd selectedType:(NSString*)selectedType selectedValue:(NSString*)selectedValue;
@end
@interface UITableViewMgr : UIViewController {
NSMutableArray *dataSo,*IDs;
NSMutableArray *dataSoRight;
UIViewController *backObject;
}
in .m
[backObject tableRowSelected:(NSInteger)[indexPath row] selectedType:[NSString stringWithFormat:@"cell"] selectedValue:[NSString stringWithFormat:@"cell"]];
//warning at this line
// 'UIViewController' may not respond to '-tableRowSelected:selectedType:selectedValue:'
谢谢ssssss我通过在我的类中定义自定义协议来摆脱这些警告
@protocol UITableViewMgrDelegate
@required
-(void)tableRowSelected:(int)idd selectedType:(NSString*)selectedType selectedValue:(NSString*)selectedValue;
@optional
- (void)AddList:(NSString*)value isNew:(int)isNew;
@end