我有一个具有一个操作来呈现视图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