这是一个来自Android开发人员的问题,他正在尝试重构用不熟悉的语言编写的样板代码(Objective-C)。我对iOS很陌生,对框架的生命周期仍然有一点了解。
目前,BLE delegates
的实施位于我们项目的TabBarController
(主控制器)中,该项目包含六个NavigationController
(另外两个选项卡只是这个项目的前开发人员)。然后,每个导航控制器将向主控制器发送延迟命令,发行人应相应地听取外部设备的响应(如果有的话)。
我正在考虑将BLE函数重定位到AppDelegate
,我认为这是最持久的位置。从那里开始,我将为导航控制器创建一个sendCommand
函数和delegates
,以便能够收听传入的响应。如果不是这样,哪个是放置BLE链接功能的理想位置?
答案 0 :(得分:1)
目前的情况并不好,将逻辑移到应用代表并不是更好。应用程序代表可以处理整个应用程序配置,而不是蓝牙。
因此,创建一个新的类,即蓝牙控制器或管理器。应用程序委托或标签栏控制器可以创建此类的实例,但是它们所做的只是将它传递给实际使用它的视图控制器。这是(一种形式)依赖注入。