【发布时间】:2019-04-24 21:55:11
【问题描述】:
我有一个管理器类,它修改成员 Dictionary<Id, MyObject> 变量的状态。
是否可以交出对此Dictionary 的引用并为所有更改设置观察者?我想避免手动实现观察者模式,即手动注册监听器和触发通知的方法。
【问题讨论】:
-
除了制作一个包装字典和 RxSwift PublishSubject(或其他可观察源)的包装对象之外,我没有看到任何其他方法,使转发方法具有信号更改所需的钩子对观察者。但我会提醒这一点,让这些东西爆炸,性能明智,真的很容易。你的用例是什么?
-
我有一个管理模型的类(从网络,收集传感器数据等),我想在 IOS 应用程序的
UITableView中显示它。 -
字典是干什么用的?这似乎是一个不必要的“中间人”。您可以使您的数据源(互联网 API、传感器等)可观察,并直接为您的 UI 订阅它们。似乎不需要(从我有限的上下文中)存储任何数据。
-
我不熟悉 RxSwift 以及管理 obversable 有多么容易,但我认为正是由于源类型的多样性,直接在 UI 上管理源 / observable 将是一团糟。最重要的是,我有一个命令行工具,它使用相同的管理器类(没有 UI。)
-
我还想稍后在本地和/或远程保存这个模型......所以我想把模型类(目前是字典)作为一个单元。