我无法在我的pickedItem
文件中引用我RootViewController.h
中声明的整数DetailViewController.m
。
不确定我是否应将此声明为全局变量,但尝试这样做失败。
我认为这应该很简单,但我没有任何其他建议(来自其他已发布的答案)。
提前致谢。
答案 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是否设置得恰当?换句话说,它是在调用详细代码之前设置的吗?