Меня учили всегда использовать делегаты для UITableViewCell
, но у меня уже есть класс-помощник: MyDefaults
, который обрабатывает получение и установку определенных настроек на NSUserDefaults
.iOS - Требуется ли UITableViewCellDelegate, когда у меня есть класс-помощник?
Это, как я сейчас делаю это:
В моей DummyPreferenceCell.h
:
@protocol DummyPreferenceCellDelegate <NSObject>
-(void)setDefaultDummyPreferenceTo:(NSString *)dummyPreferenceOption;
@end
В моих DummyPreferenceCell.m
:
- (IBAction)dummyPreferenceOptionSelected:(UISegmentedControl *)sender {
NSString *dummyPreferenceOption = @"";
switch (sender.selectedSegmentIndex) {
// first dummy preference option selected
case 0:
dummyPreferenceOption = @"dummyOption1";
break;
// second dummy preference option selected
case 1:
dummyPreferenceOption = @"dummyOption2";
break;
default:
NSLog(@"ERROR");
return;
break;
}
[self.delegate setDefaultDummyPreferenceTo:dummyPreferenceOption];
}
В моем родителю ViewController.m
:
#pragma mark - DummyPreferenceCellDelegate
-(void)setDefaultDummyPreferenceTo:(NSString *)dummyPreferenceOption {
[MyDefaults setDummyPreferenceTo:dummyPreferenceOption];
}
Необходима ли делегирование, если у меня уже есть вспомогательный класс для выполнения этого действия для меня или это вызовет будущие проблемы, если я не буду использовать делегирование?
Спасибо! Несмотря на то, что он выглядит немного избыточным, я думаю, я сохраню его так, как есть. – Rafi