【发布时间】:2015-12-23 07:15:08
【问题描述】:
我有一个自定义视图。它有一些这样的条件(仅示例):
customView(viewsNeed: Bool)
...
if viewsNeeded {
self.addSubView(newView)
self.addSubView(newView2)
} else {
self.addSubView(newView3)
self.addSubView(newView4)
self.addSubView(newView5)
}
然后我可以将此视图添加到我的ViewController:
self.view.addSubView(customView(viewsNeeded))
我想知道我应该怎么做?像这样写条件,或者为此目的制作单独的视图。比如:
查看1
...
self.addSubView(newView)
self.addSubView(newView2)
视图2
...
self.addSubView(newView3)
self.addSubView(newView4)
self.addSubView(newView5)
并在 ViewController 中添加其中之一:
if viewsNeeded {
self.view.addSubView(view1)
} else {
self.view.addSubView(view2)
}
什么样的视图在什么情况下创建更好,我应该如何决定这种事情?如果是真的,我需要一些非常广泛的答案和解释。
【问题讨论】:
-
我更喜欢第二种方法,因为它使视图独立。在第一个示例中,
viewsNeeded参数使customView的行为与外部状态相关联。 (但在任何绝对意义上,我都不会称我的偏好“正确”。) -
我认为这取决于很多事情。示例:如果您有带有复杂变量部分的简单视图,您可以使用 2 个视图,但是如果您有带有一些不同块的大复杂视图,您应该怎么做?如果您同时拥有复杂的 View 和 View 的复杂变量部分,如何在这种情况下进行设计以使您的应用更好地执行性能。
标签: ios swift view architectural-patterns