我正在尝试重构我的 Swift 大型 View Controller ,它现在有 >900 行(太多)。
如何将 UIViewPropertyAnimators
(约 100 行)的创建与主要的 UIViewController
分开?
问题是 UIViewPropertyAnimators
需要引用 view
属性和它们正在设置动画的 UIViews
。我是否创建了一个带有 weak var
的 struct
,我通过依赖注入(inject)为其分配了 view
引用?我还需要以某种方式引用 UIView
对象。
不确定在不产生循环性的情况下重构它的最佳方法是什么。有什么想法吗?
添加:
由于所有动画师只与窗口的一部分相关,我现在创建了一个 subview Controller 并将动画师移到那里。我认为这也是一个可行的解决方案。我必须添加委托(delegate)模式。最后,父 View Controller 缩短了约 100 行,正如他们所说,我有“分离关注”。
最佳答案
例如:
名为 PropertyAnimators 的新文件
在该文件中导入您需要的所有库。然后像这样扩展原始 View Controller :
extension UIViewControllerName: UIViewController, (any other delegates that you need) {
//PropertyAnimators code
}
关于swift - 从大量 View Controller 中重构 Swift UIViewPropertyAnimators,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270678/