我UIViewController
在我的 iPhone 应用程序中有一个。对于一些动画,我在其中制作了一个类似于 rootview 的视图,并在其中添加了所有元素。当单击一个按钮时,我删除了该 rootview 并添加了另一个视图控制器视图。问题是我只是加载了视图。我想在新的视图控制器中执行一个功能。为此,我需要将第一个视图控制器设置为第二个视图控制器的委托?有人可以帮我吗?
问问题
1597 次
2 回答
2
在 secondVC 中,定义如下内容:
@protocol secondVCDelegate
@interface secondVC : UIViewController
@property (nonatomic, assign) id<secondVCDelegate> delegate;
@end
@optional
-(void)someDelegateMethod:(secondVC*)viewController;
@end
在创建 secondVC 的实例时,您必须将 secondVC 的委托属性分配给 self!像这样的东西:
// in firstVC
secondVC vc = [[secondVC alloc]...];
vc.delegate = self;
[navcontroller pushVC:vc];
这条线vc.delegate = self;
可以解决问题。
希望能帮助到你...
于 2012-07-16T10:51:27.077 回答
0
从您的输入中不确定您想从哪个控制器调用哪个控制器的方法?
两种情况:
A. 在你想调用第二个视图控制器的方法的第一个视图控制器中,使用这个:
[instantOfSecondViewController methodInSecondVC];
B. 在第二个视图控制器中,你想调用第一个视图控制器的方法。在这种情况下,您需要使用委托模式。
我已经在这个SO中发布了两者的示例。
于 2012-07-16T10:44:25.693 回答