У меня есть собственный класс. И я хочу, чтобы, если какой-либо другой класс создавал его экземпляр, тогда у него " должен " был какой-то определенный метод.Как этого добиться?Я не хочу наследовать его, потому что я не добавляю никаких дополнительных функций и не изменяю их каким-либо образом.Я думал о собственном протоколе, но как мой класс узнает, что «он должен позволять создавать себя только в том случае, если определенный протокол реализуется классом, создающим его экземпляр». Сценарий
равен
classA : base-class classB : base-class classM
имеетсвойство типа base-class
.который я установил как objclassA
или objclassB
.ClassA
& classB
создание экземпляра classM
затем objclassM`` calls method
callBack method which is in both
classA &
classB . warning in
classM базовый класс может не отвечать на callBack`
@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:'
thankssssssss Я избавилсяотключить эти предупреждения, определив собственный протокол в моем классе таким образом
@protocol UITableViewMgrDelegate
@required
-(void)tableRowSelected:(int)idd selectedType:(NSString*)selectedType selectedValue:(NSString*)selectedValue;
@optional
- (void)AddList:(NSString*)value isNew:(int)isNew;
@end