我对 iOS 开发还比较陌生,想知道这样做是否是一种好的做法。
例如,假设我有两个不同的上下文,我想在其中以相同/相似的方式呈现相同/相似的数据,但存在一些差异,可能是从一个上下文到另一个上下文的一些不同按钮或我需要的不同东西准备数据。我应该只在同一个 View Controller 中创建多个配置方法并根据需要调用其中一个,还是有两个单独的 View Controller ?
我非常倾向于前者是正确的,因为它看起来更有效率并且节省了大量相同的代码,但我希望更有经验的程序员提供一些输入以防万一。
最佳答案
您应该创建三个 View Controller :SuperViewController
、FirstViewController
和SecondViewController
。 FirstViewController
和 SecondViewController
应该是您的 SuperViewController
的子类。那么你应该考虑以下几点:
变量和属性
在 SuperViewController
中声明 View Controller 之间的所有公共(public)变量。
在适当的 View Controller 中声明任何 View Controller 特定的变量和属性。
方法
与属性一样,在您的 SuperViewController
中定义任何共享方法及其实现。
如果您的方法在您的 View Controller 之间共享一些但不是全部代码,请执行以下操作:
1) 在你的 SuperViewController
中实现这个方法:
-(void)someSemiSharedMethod {
// put the common code here
}
2) 在你的 View Controller 中:
-(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
}
这种接缝就像是您想要实现的目标的最佳方法。如果您有其他问题或者此方法不能完全达到您的要求,请告诉我。
关于ios - 重用我为非常相似但不相同的情况创建的 UIViewController 子类 : recommended?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31361475/