所以我很快就会为 iOS 开发通用应用程序。我实际上从未这样做过,所以我不确定这里的最佳做法是什么,但我已经能够想到一些解决方案,而不是为每个设备使用单独的 VC。一般问题是 UI(过渡、定位、动画等),因为它因每个设备而异。我非常想避免重复的逻辑代码或为逻辑创建一些容器,因为 VC 是逻辑的地方。所以这是我的想法:
- 代表 - 我将为每个 VC 创建协议,然后创建 2 个实现该协议的类(包含特定于设备的逻辑),在 VC 中,我将根据当前正在运行的设备应用程序将委托设置为这些类之一
- 块 - 非常像代表,但更混乱
- 继承 - 与委托几乎相同,但不是协议和 2 个委托类和一个 VC,而是 3 个 VC - 1. base 2. iphone 3. ipad - 2 和 3 将从 1 继承并实现/覆盖特定于设备的方法
这些是我能想到的 3 个,即使它们基本相同但实现不同。我个人喜欢代表,但我完全是新手,我正在征求你的意见。我正在以正确的方式考虑这一点,还是有任何其他方法或最佳实践?