【发布时间】:2018-03-27 20:26:36
【问题描述】:
我正在使用 Swift 4 开发一个移动应用程序,它需要使用蓝牙 LE 连接与外部设备进行交互。
目前我正在使用模型-视图-控制器模式来实现应用程序的结构,但我需要澄清一下。
当我从蓝牙适配器接收数据时,我将其存储在模型中。模型使用通知中心与控制器“发布”更改。 另一方面,控制器(模型的所有者)将修改写回模型,只需设置它的属性。
问题是,有时,我没有准备好控制器(实例化),所以我可以松动模型的更新(在那一刻我还没有准备好“观察”模型的更新)。
我发现解决此问题的唯一方法是:
- 在控制器
viewDidLoad中使用模型属性的“getter”读取模型的状态。 - 注册控制器以观察未来的模型更新。
现在工作正常,但我想了解的是,这是否是模型和控制器之间通信的正确行为。
【问题讨论】:
标签: ios swift model-view-controller