У меня возникли проблемы с использованием протоколов/делегатов, когда я пытался перезагрузить данные из UITableView в свой rootViewController, когда мое модальное представление было отклонено.
Вот некоторый код из моего модального представления .h файла:
@protocol LoginWebViewDelegate <NSObject>
-(void) updateFromModalView;
@end
@interface myModalView : UIViewController{
id<LoginWebViewDelegate> loginDelegate;
..
}
@property (nonatomic, assign) id<LoginWebViewDelegate> loginDelegate;
..
-(IBAction)dismiss;
..
В моем файле .m я синтезирую loginDelegate и реализую действие отклонения, и оно активируется, когда я нажимаю кнопку.
-(IBAction) dismiss
{
NSLog(@"Button Pressed!");
[loginDelegate updateFromModalView];
}
Затем в интерфейсе моего rootViewController я добавил <LoginWebViewDelegate>
, и вот действие в моей реализации:
-(void) updateFromModalView
{
[modalView dismissModalViewControllerAnimated:YES];
NSLog(@"Reloading Data");
[dataController readPlist];
[dataTable reloadData];
[dataTable beginUpdates];
[dataTable deleteSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:YES];
[dataTable insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:YES];
[dataTable endUpdates];
}
Метод updateFromModalView никогда не вызывается. Что мне не хватает?