【问题标题】:Best way to modify UIView Outside UIViewController在 UIViewController 之外修改 UIView 的最佳方法
【发布时间】:2016-04-18 10:27:08
【问题描述】:

我尝试创建一个类 MyViewControllerDesign.swift,它处理所有设计设置,如配置、修改......并且可以从任何地方调用。

从 MyViewControllerDesign 的函数修改在 MyUIViewController 中创建的 UIView 的最佳方法是什么?

1 - 我应该将 MyUIViewController 的上下文传递给 hideMyView 函数 吗?

func hideMyView(context: MyUIViewController){
   context.myView.hidden = true
}

2 - 还是应该将视图传递给 hideMyView 函数

func hideMyView(myView: UIView){
   myView.hidden = true
}

...但我也必须从 startTasks 传递它...

func startTasks(myView: UIView){
   ...
   myViewControllerDesign.hideMyView(myView)
   ...
}

3 - 或者我应该在 MyUIViewController 上使用 hideMyView 函数

最好的方法是什么?是否有处理这种情况的设计模式?

【问题讨论】:

    标签: ios swift design-patterns uiviewcontroller


    【解决方案1】:

    设计控制器持有对其管理的视图和/或子视图的引用是有意义的——您可以在视图控制器中实例化MyViewControllerDesign 时这样做。同样,您的BackgroundTasks 对象可以保留对设计控制器的引用并根据需要调用相关方法。

    这样,视图控制器仍然处于流程的中心,并将模型层链接到视图层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2012-01-04
      • 1970-01-01
      相关资源
      最近更新 更多