gpt4 book ai didi

ios - 委托(delegate)消息是否必须始终将 void 作为返回类型?

转载 作者:可可西里 更新时间:2023-11-01 03:42:07 25 4
gpt4 key购买 nike

我有一个场景,Obj A 在按下按钮时向 Obj B 发送委托(delegate)消息。Obj B 根据委托(delegate)调用采取一些行动。

对象 A 想要根据调用委托(delegate)消息后发生的结果在屏幕上显示一些内容。

假设对象 B 维护一个计数器,记录该操作发生了多少次。

所以当 Obj A 按下按钮并调用委托(delegate)方法时,该委托(delegate)方法返回一个值(在我的例子中是当前计数器)是否是个好主意?

以便 Obj A 可以显示计数器更新的值。

在这种情况下,同一消息同时充当委托(delegate)和数据源。

对我来说,Obj A 是一个 View ,Obj B 是 View Controller 。

我的实现有缺陷吗?

最佳答案

我喜欢你的实现。

即使它不区分委托(delegate)和数据源角色,它也会以更简单的方式组合它们。

我想就 MVC 概念而言,适当的实现方式是:

  • A( View )向 B(委托(delegate))发送一条消息,说“我被窃听了”或类似的内容。

  • B(委托(delegate)人)根据需要执行操作并向 A 发送一条消息“reloadData”。

  • A 向 B(现在作为数据源)请求要显示的数据。

因为在您的情况下,委托(delegate)和数据源是同一个对象,就像在许多其他情况下发生的那样,在我看来,像您那样实现流程是非常合理的,而且完全没有缺陷:

  • A( View )向 B(委托(delegate)和数据源)发送消息并接收回刷新 View 所需的数据信息。

关于ios - 委托(delegate)消息是否必须始终将 void 作为返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com