Ios 在一起开发iphone和ipad应用程序时,最佳实践是什么?

Ios 在一起开发iphone和ipad应用程序时,最佳实践是什么?,ios,iphone,ipad,architecture,Ios,Iphone,Ipad,Architecture,我将创建一个同时支持iPhone和iPad的应用程序。在继续之前,我只想知道这两个应用程序开发的最佳实践 以下是我知道的几点: 假设我有一个tableview,它显示N个记录,并将其表示为第1页。当用户点击单元格时,它将加载第2页以显示点击记录的详细信息。这是每个应用程序中使用的更常见的场景 对于iPad来说,情况并非如此。我可以在同一页中显示第1页和第2页。(考虑横向模式) 因此,iPhone的PAGE-1将显示在iPad的左侧面板上,iPhone的PAGE-2将显示在iPad的右侧面板上

我将创建一个同时支持iPhone和iPad的应用程序。在继续之前,我只想知道这两个应用程序开发的最佳实践

以下是我知道的几点:

  • 假设我有一个tableview,它显示N个记录,并将其表示为第1页。当用户点击单元格时,它将加载第2页以显示点击记录的详细信息。这是每个应用程序中使用的更常见的场景
  • 对于iPad来说,情况并非如此。我可以在同一页中显示第1页和第2页。(考虑横向模式)
  • 因此,iPhone的PAGE-1将显示在iPad的左侧面板上,iPhone的PAGE-2将显示在iPad的右侧面板上
结论:

  • 因此,我可以为iPhone和iPad创建一个通用类。这将为iPhone和iPad处理第1页的通用功能
  • iPhone和iPad的特定于设备的功能可以分为不同的类别
  • 除此之外,可以为iPhone和iPad编写与网络相关的方法、解析器、实用程序方法、类别和自定义控制器
  • iPad唯一的附加功能是,它应该有一个控制器,可以容纳和处理第1页和第2页。这确保了第1页不包含第2页,它们都是独立的,就像iPhone的第1页和第2页一样
请参阅下面的附图,以清楚地展示

问题:

  • 这种方法正确吗
  • 我真的不知道iPad的“容器”控制器。我需要它吗?或者有没有其他更好的方案来有效地将事情分组
这可能是一个基本的问题,但我需要一个更好的代码实践澄清


谢谢

听起来您不需要特定的第1页和第2页子类,尽管这完全取决于每个设备上页面之间的差异。集合视图可能更适合您的需要,因此您可以简单地设置项目宽度,并且布局将在适当的情况下将内容组织成列

听起来您需要的只是顶层的两个不同容器类,它们决定如何显示页面,或者更具体地说,决定要显示多少页面以及页面在屏幕上的位置。对于iPhone来说,这非常简单,而对于iPad来说,这稍微复杂一些(主要是由于旋转处理)

另外请注意,如果您在Xcode中创建一个新的主细节项目,并要求它支持iPhone和iPad,您将看到,对于这种情况,可以选择使用拆分视图控制器。通过让app委托决定是否使用“特殊”容器(用于iPad),这样就不需要使用两个容器类