Моя проблема кажется простой, но я не могу получить ответ. У меня есть UiSwitch, созданный в моем подклассе TableItemCell, и я хочу, чтобы он вызывал функцию (в моем случае - отклонить) из моего настольного контроллера, который является агентом.
Как мне получить доступ к этой функции из моего подкласса TableItemCell?
Это мой код:
@implementation CCSettingsTableItemCell
@synthesize idSetting;
//Overriding cell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)identifier {
if ((self = [super initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:identifier])) {
switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
self.accessoryView = switchView;
[switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
[switchView release];
}
return self;
}
- (void) switchChanged:(id)sender {
UISwitch* switchControl = sender;
/////////////////////////////////////////////////////////
//Here i want to call my function from my main controller
}
А мой основной код контроллера такой:
@implementation SettingController
///////////////////////////////////////////////////////////////////////////////////////////////////
// private
// This is the function i want to call
- (void)dismiss {
[self dismissModalViewControllerAnimated:YES];
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// NSObject
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
random code;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// TTTableViewController
- (void)loadView {
random code;
}
- (void)createModel {
self.dataSource = [SettingControllerDataSource viewDataSource];
// If dataSource nil, show an empty Message
if (self.dataSource == nil) {
[self showEmpty:YES];
}
}
@end
Уточнение: источник данных добавляет объект моего пользовательского типа CCSettingsTableItem
Любая помощь или подсказки были бы великолепны!