所以我很快就会开始使用iOS的通用应用程序。我实际上从来没有这样做过,所以我不确定这里的最佳做法是什么,但我能够想到一些解决方案,而不是为每个设备使用单独的VC。一般问题是UI(转换,定位,动画等),因为它随每个设备而变化。我迫切希望避免重复的逻辑代码或为逻辑创建一些容器,因为VC是逻辑的地方。所以这是我的想法:
这些是我能想到的3,即使它们基本相同但实现不同。我个人喜欢代表,但我是新手,我正在征求你的意见。我正在以正确的方式思考这个问题,还是有其他方法或最佳实践?
答案 0 :(得分:2)
我会为适用于iPad和iPhone的所有代码创建一个基本视图控制器,然后为从基本视图控制器继承的每个代码创建一个单独的视图控制器。这样,您只需覆盖包含设备特定代码的方法,通常是与UI相关的代码。
答案 1 :(得分:0)
在大多数情况下,您并不需要创建不同的视图控制器。
如果您使用故事板,则可以为iPhone和iPad使用的常用视图控制器创建故事板,并为iPhone和iPad分别添加两个故事板。然后使用IBOutlets在代码中引用。
通常你在iPad版本中有更多的插座,因为屏幕更大,但代码应该仍然适用于iPhone版本。
如果在你的情况下拆分故事板是不够的,我建议在VC类的不同文件中使用两个类别。然后将公共代码保存在普通文件中,并在类别中添加专用功能代码。