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)
        }
    }