【发布时间】:2012-12-23 02:03:02
【问题描述】:
我有 2 个视图控制器,分别称为 ViewController1 和 ViewController2。当我想加载 ViewController2 时,从 ViewController1 调用模态序列。我在 ViewController1 中有一个方法,需要在 ViewController2 显示时调用。我的想法是在 ViewController2 中有一个属性是对 ViewController1 的引用,以便我可以访问该方法。
@property (strong, nonatomic) ViewController1 *vc1Reference;
该属性将在 prepareForSegue 方法中设置,如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // 1 if ([[segue identifier] isEqualToString:@"sequeToVC2"]) { // 2 ViewController2 *vc2 = segue.destinationViewController; // 3 vc2.vc1Reference = (ViewController1*)segue.sourceViewController; // 4 } }但是第 4 行给了我这个错误:ARC 不允许将 Objective-C 指针隐式转换为“int *”。
我应该如何设置参考?
【问题讨论】:
-
是的,我将 prepareForSegue 放在视图控制器 1 中。
-
你在
viewController2#import ViewController1做吗?
标签: objective-c ios cocoa-touch uiviewcontroller uistoryboardsegue