我目前正在将我在Android上制作的应用转换为使用BLE控制某些电机并记录数据的iOS。这是我的第一个iOS应用程序,因此我正在学习。在我的Android应用中,我显示了何时关闭手机的蓝牙,何时需要权限的视图,以提供已发现设备的列表以及控制屏幕。在Android中,我通过片段进行操作,为进度的每一步弹出一个新片段,并可以根据手机的连接状态轻松地在过程中跳转。
我不确定在iOS中复制此内容的最佳方法是什么。我在故事板上创建了所需的3个屏幕。我最初的想法是使用segues,但是我看到了两个小问题。呈现下一个视图时,后退按钮将显示在导航控制器中,并且需要从每个视图到每个其他视图的监视。如果我添加更多步骤,这可能会变得混乱且不必要地复杂。尽管这些都不能阻止它成为可行的选择,但我觉得可能有一种更清洁的方法。
我能想到的另一个选择更多地类似于Android中的Fragment方法。我已经为我想要的每个视图创建了xib和视图控制器,并将容器视图放在了根视图中。这就是我所坚持的方法,即如何在运行时更改容器视图中显示的View Controller。环顾互联网,似乎人们建议只具有多个容器视图,然后隐藏那些您不希望看到的视图,但这充其量似乎是一个坏习惯。
如果可以确定如何在其中热交换视图控制器,我肯定会最喜欢第二个选项。我还认为,让根控制器来跟踪BLE连接并使子视图将数据传递回去,这将很好地工作。也许还有一种更好的方法,我什至还没有发现有人可以向我指出。
不发布任何代码,因为这更多是关于最佳方法的问题,而不是解决现有的代码问题。