通用应用程序的命名约定

Lut*_*ker 6 xcode objective-c naming-conventions universal-binary ios

我正在编写一个通用的iOS应用程序(iPad和iPhone),并且发现自己拥有大量长名称,无法在两个应用程序之间共享:

FamilyViewController_iPhone.h/m
FamilyViewControllerA_iPad.h/m

DetailViewControllerB_iPhone.h/m
DetailViewControllerB_iPad.h/m
Run Code Online (Sandbox Code Playgroud)

同样,这些人内部的类具有完整的名称(包括设备),主要是为了使Interface Builder可以轻松使用它们.

我考虑过像AControllerA.h和BControllerA.h这样的东西,其中A = iPhone和B = iPad,但也没有对这个选项感到兴奋.

在iOS通用应用程序中,类似这样的类的常规约定是什么?或者我(希望)错过了能够避免这种必要性的东西?

Cal*_*leb 1

我不确定是否有标准方法来处理这个问题。

一种可能性是使用类似类簇的策略。如果 FamilyViewController_iPad 和 FamilyViewController_iPhone 非常相似,则使它们成为抽象 FamilyViewController 类的子类。设置 FamilyViewController 的 -initWithNibName:bundle: 方法,使其返回 ...iPad 或 ...iPhone 版本的实例,具体取决于应用程序运行的设备。那么,在您的大部分代码中,您将只处理 FamilyViewController。当然,您仍然需要在笔尖中使用子类名称,但至少您的代码将更易于阅读。