0

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

如何将我的UIViewPropertyAnimators(约 100 行)的创建与我的 main分开UIViewController?问题是UIViewPropertyAnimators需要对view属性的引用并且UIViews它们正在制作动画。我是否创建了struct一个weak var我通过依赖注入分配view引用的 a?我还需要以UIView某种方式引用对象。不确定在不产生循环性的情况下重构它的最佳方法是什么。有任何想法吗?

加法

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

4

1 回答 1

1

例如:

名为 PropertyAnimators 的新文件

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

extension UIViewControllerName: UIViewController, (any other delegates that you need) {
//PropertyAnimators code
}
于 2018-11-13T05:06:08.120 回答