从另一个ViewController引用整数

时间:2010-07-15 21:11:40

标签: iphone objective-c

我无法在我的pickedItem文件中引用我RootViewController.h中声明的整数DetailViewController.m

不确定我是否应将此声明为全局变量,但尝试这样做失败。

我认为这应该很简单,但我没有任何其他建议(来自其他已发布的答案)。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以通过

[[UIApplication sharedApplication] delegate]
此次通话访问应用代理。然后可以访问根视图控制器的属性(假设您可以访问appDelagate中的rootViewController对象)。

在RootViewController.h中

@property(nonatomic, assign) NSInteger myInt

从代码中的任何地方

UIApplicationDelegate *delegate = [[UIApplication sharedApplication] delegate];
delegate.viewController.myInt = 31;

P.S。我刚刚输入了代码,没有编译。所以可能会有一些错字。

答案 1 :(得分:0)

你只是不希望它以这种方式编码。我建议您查看NSNotificationCenter,或者为自己创建一个委托类,以便与DetailViewController进行页面更改的通信。不应该依赖细节 - >以你的方式扎根。

根据你上面的代码,我没有看到你在detailViewController上设置rootViewController的位置?它没有?如果rootViewController为nil,我认为引用rootViewController.pickedItem会导致崩溃,但值得检查。

另外,pickItem是否设置得恰当?换句话说,它是在调用详细代码之前设置的吗?