Swift:将工作空间拆分为框架时如何处理扩展

我正在通过将iOS项目拆分为框架来优化它。我正在考虑首先分离UI组件,但是在分析我的方法时感到困惑。 我有一些UIKit组件的扩展,这些扩展用在自定义组件类和组件组之外的许多其他类中。现在,我首先想到的是,可以将这些扩展添加到框架中,并将其导入到我的UIComponents和项目中的其他文件中,但是它们可能很多。有没有更清洁的解决方案来解决这个问题?

评论
甜小妞
甜小妞

是的,您可以将实现转移到框架中,并将自定义项保留在应用程序目标内的扩展中。例如:

之前:

extension UIViewController {

    // Helper method to show alert
    func showAlert() {
        let alert = UIAlertController(title: "...", message: "", preferredStyle: .alert)
        // ...
        present(alert, animated: true)
    }
}

后:

import FrameworkName

extension UIViewController {

    func showAlert() {
        showAlertInFramework(parameters: ParameterTypes)
    }
}
点赞
评论