我正在编写一个通用的 iOS 应用程序(iPad 和 iPhone),发现自己的类名非常长,无法在两个应用程序之间共享:
FamilyViewController_iPhone.h/m
FamilyViewControllerA_iPad.h/m
DetailViewControllerB_iPhone.h/m
DetailViewControllerB_iPad.h/m
同样,这些家伙里面的类都有完整的名称(包括设备),主要是为了让 Interface Builder 可以轻松使用它们。
我考虑过像 AControllerA.h 和 BControllerA.h 这样的东西,其中 A=iPhone 和 B=iPad,但我对那个选项也不感兴趣。
在 iOS 通用应用程序中,此类类的常规约定是什么 - 还是我(希望)遗漏了一些可以避免这种必要性的东西?
最佳答案
我认为您通过像这样分离您的功能而走上了一条错误的道路。虽然 iPad 应用程序显然可以具有与 iPhone 应用程序不同的 UI 结构和设计,但最好尽可能保持抽象。
我避免在我的 View Controller 中使用平台名称。我会:
FamilyViewController.h
FamilyViewController.m
FamilyViewController.xib (which is used for the iPad UI)
FamilyViewController~iphone.xib
您很可能会在 iPhone 和 iPad 上拥有极其相似的功能,或者即使不一样,您仍然会有很多重叠。
我也从不让我的 View Controller 充当我的表 Controller 。我将该功能保留在单独的对象中。这样,如果 iPhone 应用程序在不同屏幕上有 2 或 3 个表格,但 iPad 在同一屏幕上显示所有 3 个表格,您只需实例化每个表格 Controller ,所有代码都是可重用的。
关于objective-c - 通用应用程序的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5200820/