我正在尝试重构我的Swift大规模视图控制器,该控制器现在具有> 900行(太多)。
如何将UIViewPropertyAnimators
(〜100行)的创建与主要UIViewController
分开?
事实是,UIViewPropertyAnimators
需要引用view
属性,并且它们正在设置动画的UIViews
。我是否创建了一个struct
的{{1}},并通过依赖项注入向其中分配了weak var
引用?我还需要以某种方式引用view
对象。
不知道什么是重构这种方法而不产生某种循环的最佳方法。有什么想法吗?
添加:
由于所有动画师仅与窗口的一部分相关,因此我现在创建了一个子视图控制器,并将动画师移到了那里。我认为这也是可行的解决方案。我必须添加委托模式。最后,父视图控制器缩短了约100行,正如他们所说,我“分开关注”。
答案 0 :(得分:1)
例如:
名为PropertyAnimators的新文件
在该文件中,导入所需的所有库。然后像这样扩展原始视图控制器:
extension UIViewControllerName: UIViewController, (any other delegates that you need) {
//PropertyAnimators code
}