对于iOS开发,我仍然相对较新,并且想知道这样做是否是一个好习惯。
例如,假设我有两个不同的上下文,我希望以相同/相似的方式呈现相同/相似的数据,但是存在一些差异,也许从一个上下文到另一个的某些不同按钮,或者我需要做的不同准备数据。我应该只在同一个视图控制器中制作多个配置方法,然后根据需要调用哪个方法,或者拥有两个单独的视图控制器?
我非常倾向于前者是正确的,因为前者看起来效率更高,而且可以节省很多相同的代码,但是我希望有经验的程序员提供一些输入,以防万一。
最佳答案
您应该创建三个视图控制器:SuperViewController
,FirstViewController
和SecondViewController
。 FirstViewController
和SecondViewController
应该是SuperViewController
的子类。然后,您应该考虑以下几点:
变量和属性
在SuperViewController
中声明视图控制器之间的所有公共变量。
在适当的视图控制器中声明任何特定于视图控制器的变量和属性。
方法
与属性一样,在SuperViewController
中定义任何共享方法及其实现。
如果您的方法在视图控制器之间共享某些但不是全部的代码,请执行以下操作:
1)在您的SuperViewController
中实现此方法:
-(void)someSemiSharedMethod {
// put the common code here
}
2)在您的视图控制器中:
-(void)someSemiSharedMethod {
// call the superclass' implementation of this method
// to ensure that common code is executed
[super someSemiSharedMethod];
// now add any child controller specific code to this method below
}
这似乎是您想要实现的最佳方法。让我知道您是否还有其他问题,或者这种方法不能完全实现您想要的目标。