gpt4 book ai didi

iPhone:使用来自套接字的数据更新 View

转载 作者:行者123 更新时间:2023-12-03 12:01:26 26 4
gpt4 key购买 nike

我有:

  • 处理套接字连接的委托(delegate),该连接读取和写入数据到套接字。
  • 一个 MyTableViewController使用从套接字接收的数据填充 View 中的表的方法。

  • 我的问题如下:

    什么是有效的设计方法是用到达套接字的数据填充表?
    (考虑到将来我将有几个其他 View 也使用来自套接字的数据。)

    我想我应该有一个 SocketClient类来处理通过套接字交换的所有消息,然后通知每个相关的 UIViewController .但是,在这种情况下,当数据到达套接字时, Controller 对象已经被实例化了。这导致我将 Controller 用作单例。它有效,但我不喜欢这个。另一种方法是让我的所有 Controller 成为处理套接字连接的代表。我也不喜欢这个。

    你的方法是什么?

    最佳答案

    这里的正确方法称为模型- View - Controller ,它是整个 Cocoa 的核心架构。该模型保存您的数据(暂时忘记套接字;这些表不关心数据来自何处)。 (table) View 显示数据,(tableview) Controller 将两者连接起来。

    因此,您将拥有一组保存数据的模型对象。他们不关心数据如何显示,也不关心数据来自哪里(套接字)。他们只是保存数据。有时这些由 Singleton 管理,有时在创建 View Controller 时将指向模型的指针传递给每个 View Controller 。任何一种方法都很好。将模型交给 View Controller 更灵活一些,但需要更多的代码。

    然后还有另一个对象,你的SocketClient ,获取数据并更新模型。 SocketClient不保存数据。它只处理套接字和更新模型。它对 View Controller 一无所知,他们对此一无所知。

    每当模型更改时,都会通知 View Controller 。这通常通过 NSNotification 处理。 , 但也可以通过 KVO 或委托(delegate)来处理。

    关于iPhone:使用来自套接字的数据更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098734/

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