访问以前分配的viewController及其方法

时间:2010-07-07 17:04:27

标签: uiviewcontroller

在我的应用程序中,一个特定的ViewController将自身(作为导航按钮)覆盖在可以切换的galleryViewController上。

但是,我的问题是,在我分配一个新的galleryViewController之后,然后切换到该视图,我希望能够将有关显示内容的信息发送回原始ViewController。

所以在这个galleryViewController中我分配一个viewController对象并尝试做需要做的事情。

但是,我已经明白这个viewController对象是一个新的分配对象。因此,我想隐藏和取消隐藏的各种UIButton不是目前在superview中出现的那些 - 它们甚至没有被分配。

如何访问原始viewController - 它是在appDelegate中声明并添加到TheSoTheSubview的那个。

我不确定我能够正确联系多少,如果有任何特定的代码问题请询问我可以发布。我的代码中没有任何错误,只是语法问题。

我也在iphonedevsdk上发布了同样的问题,所以如果我从那里得到任何信息,我很乐意更新这个问题的进展。

2 个答案:

答案 0 :(得分:0)

如果我理解你的要求,我建议你在ViewController中将视图声明为IBOutlets。然后,使用IB,将您想要操作的视图附加到那些IBOutlet,并在整个代码中使用这些对象。

希望有帮助...

BB

答案 1 :(得分:0)

所以我已经知道我需要通过appDelegate访问它,所以我在childViewController中有这行代码:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
ParentViewController *pvc = appDelegate.viewController;
[pvc placeOverlays:index];
[pvc release];

然而,发生了一些奇怪的行为。如果我删除[pvc release],我可以查看我的所有画廊幻灯片,我的UIButton完全按照我的意愿进行操作......但我只是觉得[pvc release]应该在那里。

但是有了它,我只能在使用EXC_BAD_ACCESS崩溃之前两次检查上面的代码。我认为它可能与我对iOS语法的基本知识有关,但任何愿意向我解释的人都会非常感谢!

所以对于跟随的人,请删除[pvc release];从我上面的代码开始,这一切都很有效。尽管如此,我觉得这可能会导致内存问题。