我有一個具有一個操作來呈現視圖cotroller使用委託返回不工作
GoodNewsBodyViewController.h
@interface GoodNewsBodyViewController : UIViewController<EventListDelegate>
GoodNewsBodyViewController.m
-(IBAction)goToEvents:(id)sender {
EventTableViewController* eventsController = [[EventTableViewController alloc] initWithNibName:@"EventTableViewController" bundle:nil];
[eventsController setListOfEvents:goodNews.Events];
//try both ways
[eventsController setDelegate:self];
eventsController.delegate = self;
[self presentModalViewController:eventsController animated:YES];
}
- (void)loginFormDidFinish:(EventTableViewController*)loginForm {
// do whatever, then
// hide the modal view
EventViewController *eventController = [[EventViewController alloc] initWithNibName:@"EventViewController" bundle:nil];
[eventController setEvent:loginForm.event];
[self.navigationController pushViewController:eventController animated:YES];
// clean up
[self dismissModalViewControllerAnimated:YES];
}
視圖控制器的對象EventTableViewController.h
當在eventstableviewcontroller中選擇一個事件時,我希望將該事件回傳。我試圖通過將事件作爲一個屬性設置在eventstableviewcontroller的didselect方法中來實現它。事件列表正在呈現,當事件被選中時,該列表消失。這是所有正確的,但 - - (void)loginFormDidFinish:(EventTableViewController *)loginForm;
事件似乎並不火,我已經設置了斷點,但他們從來沒有被打......任何幫助表示讚賞!
委託回調是不是真正的 「事件」。你已經展示了你的'loginFormDidFinish:'的實現,但是實際調用它的代碼在哪裏? – aroth
它在EventTableViewController.h中,閱讀客觀的c文檔這是如何聲明代表 – user987723
是的,你*在頭文件中正確聲明瞭它。但宣稱這只是戰鬥的一半。您仍然必須從實際實施的某處調用委託方法。 – aroth