从大量的视图控制器中重构Swift UIViewPropertyAnimators

时间:2018-11-12 21:55:49

标签: swift model-view-controller refactoring uiviewpropertyanimator

我正在尝试重构我的Swift大规模视图控制器,该控制器现在具有> 900行(太多)。

如何将UIViewPropertyAnimators(〜100行)的创建与主要UIViewController分开? 事实是,UIViewPropertyAnimators需要引用view属性,并且它们正在设置动画的UIViews。我是否创建了一个struct的{​​{1}},并通过依赖项注入向其中分配了weak var引用?我还需要以某种方式引用view对象。 不知道什么是重构这种方法而不产生某种循环的最佳方法。有什么想法吗?

添加

由于所有动画师仅与窗口的一部分相关,因此我现在创建了一个子视图控制器,并将动画师移到了那里。我认为这也是可行的解决方案。我必须添加委托模式。最后,父视图控制器缩短了约100行,正如他们所说,我“分开关注”。

1 个答案:

答案 0 :(得分:1)

例如:

名为PropertyAnimators的新文件

在该文件中,导入所需的所有库。然后像这样扩展原始视图控制器:

extension UIViewControllerName: UIViewController, (any other delegates that you need) {
//PropertyAnimators code
}