在iOS中使用VIPER进行BLE

时间:2016-10-25 02:21:18

标签: ios bluetooth-lowenergy viper

我正在开发一个iOS BLE应用程序,一切都很棒。我在一个单例类中处理BLE,该类在视图控制器的discoverPeripheral()中调用其viewDidAppear()方法。从那里开始,我连接设备并交换数据。

现在我正在尝试在我的应用程序中实现VIPER架构,我无法确定将放置此BLE部分的位置。因为当前显示视图时会激活我的BLE代码。我提出了以下方案:将ble扫描放在演示者中,一旦视图进入内存,请求演示者开始扫描。演示者将要求BLE单例使用适当的UUID进行扫描,并在收到数据后通知Interactor将其存储到数据库中,然后更新UI。

这是我与VIPER的第一个项目,我真的很感激任何意见或建议。谢谢!

1 个答案:

答案 0 :(得分:1)

如果有人在这里徘徊寻找同样的问题,这就是我最终做的事情:

我将调用放置在交互器中的ble单例中。因此,当用户点击用于ble扫描的UI时,  presenter.startBleScan()和  在UI上调用interface.showUpdatingBleDevices()

然后,演示者会调用interactor.startBleScan()

交互操作员与单例类进行对话并在演示者

上调用presenter.didReceiveNewBleDevices(count: 5)

在此之后,演示者会调用interface.hideUpdateBle()interface.showNewDevices