2

在 iOS 中,很多时候我的项目都有类似的屏幕,但这里和那里有些不同。随着时间的推移,可能会出现一个类似的屏幕,而我在制作初始架构时不会意识到这一点。

因此,在这种情况下,我所做的就是使用很少的枚举属性并放入 if-else 语句确实在代码中有所区别。

长得丑!特别是当我们在 TableView 数据源和委托方法中实现某些东西时,到处都有相同的 if-else 或 switch case。

现在,如果我制作一个单独的 VC,那么我必须在这里和那里复制粘贴很多相同的代码。如果其中一个有错误,那么它无处不在,而且很难追踪。

并且鉴于截止日期,将父类中的常见内容放在前面变得非常困难,因为我不确定将来是否会出现类似的屏幕。

那么什么是不落入这种情况的通用方法呢?

4

1 回答 1

8

好像你有3个选择:

inheritance拥有 MySpecialViewController 的超类,其中包含您认为有用的方法,并且能够在子类中覆盖以为该类添加额外的功能。你提到你“没有时间”提前做这件事,那很好,找出哪些方法是常见的,事后创建一个超类,让你的视图控制器成为它的子类。

categories如果您不需要覆盖共享功能并且遇到多重继承问题,请创建包含您希望在视图控制器中使用的辅助方法的类别。

utility class 如果您重用的方法可以在它们自己的类中运行,并且由于某种原因上述两个选项不起作用,只需创建一个具有您使用的常用方法的 MyUtils 类。

于 2013-02-07T05:46:33.213 回答