我已经构建了一个应用程序,它可以与不同的互联网资源进行一些计算和通信。我为我的应用程序添加了三个企业客户的标签栏导航栏,唯一的变化是图片和颜色的不同。所以我创建了三个目标并适当地处理了目标成员。
到目前为止,一切都很好。但是,如果我想为客户自定义视图的整个布局,甚至是应用程序的导航怎么办?例如,下一个客户端可能会要求基于导航控制器的交互,而不是基于标签栏的导航。或者在一个视图中再添加一个标签。或者使用饼图而不是条形图来可视化某组数据。
如果您将所有不同的目标放在一个项目中,并带有所有这些 if/else if/else if/else if/... 代码块,则会导致代码非常难看。如果我有 100 个客户怎么办?
现在问题来了:在我的想象中,一个理想的概念是,如果我可以创建一个名为“ Base ”的 Xcode 项目,该项目执行所有特定领域的计算、通信等(当然)并具有基本的非品牌 UI . 这样,可以在一个中央存储库中轻松地为所有客户端维护代码。然后,对于每个客户,我创建一个全新的 Xcode 项目,导入或引用“ Base ”项目,当我单击 Build 而不进行任何自定义时,它已经为我构建了非品牌但功能齐全的应用程序。如果客户请求修改布局,我将相应的视图子类化。当再次点击 Build 按钮时,它应该会弹出“ Base ”应用程序,但某些子类视图取代了标准布局。
这种“覆盖”视觉效果的“基础”应用程序的想法能否在 Xcode 中优雅地完成?