【问题标题】:How should this be implemented? Delegation这应该如何实施?代表团
【发布时间】:2011-12-04 08:05:30
【问题描述】:

我有许多视图想要与另一种视图进行交流。我们将把另一种视图称为“主视图”。我想要做的是让“许多其他视图”能够向“主视图”发送一个添加子视图的方法。我会创建一个委托方法吗?如果是这样,我是否会在“主视图”中创建委托,然后必须在“许多其他视图”中设置它。我只是在思考代表的工作方式。

【问题讨论】:

    标签: iphone objective-c ios delegates delegation


    【解决方案1】:

    “委托”一词通常仅在对象足够通用时使用,并且将在具有许多可能不同委托的许多情况下重用。例如,一个表格视图,一个非常通用的对象,有一个自定义其行为的委托,但您自己制作的用于您自己目的的自定义视图可能没有。

    听起来您的“其他”视图和“主”视图之间存在非常简单的多对一关系。您可能可以简单地在“其他”视图上创建一个属性(例如mainView),或者使用其他方法让您的“其他”视图轻松访问“主”视图指针,并将您的消息发送给它。

    【讨论】:

    • 那么,我最好在“主视图”中创建一个显示我的视图的类方法(不是实例方法)?然后,在每个“多视图”中创建一个指向“主视图”的指针,然后将“多视图”中的创建方法发送给“主视图”类?如果是这种情况,我无法在类方法中调用 [self.view addsubview:whateverSubviewController.view]。
    • 或者,我应该将调用操作的按钮的目标设置为“主视图”视图控制器,并在显示子视图的“主视图”中创建一个实例方法吗?
    猜你喜欢
    • 2011-11-26
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2022-06-15
    • 2011-01-26
    相关资源
    最近更新 更多