【发布时间】:2009-06-25 23:08:57
【问题描述】:
我确定有正确的方法可以做到这一点,我是 Objective-c 和可可触摸的新手,所以我不知道它是什么。
我有一个应用程序具有(简化的)视图层次结构
Window
--Button
--Button
--Subview
--Sub-Subview
我想要做的是让子视图做一些事情来响应其中一个按钮上的触摸事件。我可以想出几种方法来做到这一点,但我不确定哪一种是首选方法。
向主视图控制器添加一个插座(处理窗口)并存储对子视图的引用。当我需要给子视图发送消息时,我可以简单地传递我想要的消息(因为我已经有了参考)。这似乎可行,如果有点……脆弱?
向按钮添加第二个操作(第一个是视图控制器上的方法,第二个是子视图类上的方法)。这似乎有问题,因为视图控制器中的按钮操作在子视图尝试处理消息之前触发很重要
某种委托系统?
为子视图编写一个新的视图控制器并让主视图控制器传递那个一条消息(不确定第一个控制器获取对第二个控制器的引用的正确方法。在此外,子视图实际所需的代码相对较少——一个全新的控制器似乎有点过头了)。
还有什么我完全忽略的东西?
一些方向将不胜感激!
【问题讨论】:
标签: iphone objective-c cocoa-touch interface-builder model-view-controller