【发布时间】:2013-08-12 04:48:27
【问题描述】:
我有一个从另一个视图控制器调用的模态视图控制器。在关闭模态视图控制器后,我希望在呈现该模态视图的视图控制器上调用一个方法。最简单的方法是什么?
我尝试在我的模态视图控制器中执行此操作:[(ParentViewController*)self.presentingViewController foo];,然后调用 [self dismissViewControllerAnimated:YES completion:nil];。
Xcode 给我一个错误,说 foo 无法识别,即使它是在控制器中定义和原型化的。如果您的解决方案涉及块,我真的不理解它们,所以如果您能添加更多细节,我将不胜感激。谢谢。
ParentViewController.h
@interface ParentViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
{
NewAssignmentViewController *newAssignmentViewController;
TableViewDataSource *data;
}
-(void)foo;
@end
【问题讨论】:
-
您会收到该错误,因为编译器不知道 self.presentingViewController 是什么类。要修复它,只需转换它: [(MyClass *)self.presentingViewController foo]
-
请包含您在 ParentViewController.h 中的代码
-
我认为问题不在于 foo 的实现,因为即使 foo 没有做任何事情,程序也会崩溃
-
在关闭模态视图控制器 NSLog(@"%@",[self.presentingViewController class]) 之前登录并查看它返回的内容
-
UITabBarController...
标签: ios objective-c-blocks modalviewcontroller presentmodalviewcontroller