将工作空间拆分为框架时如何处理扩展?
How to deal with extensions when splitting workspace into frameworks?
我正在通过将 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)
}
}
我正在通过将 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)
}
}