Ios 在swiftUI中集成重复代码,比如inherit之类的
我有一些SwiftUI视图,其中有许多重复部分,如下所示:Ios 在swiftUI中集成重复代码,比如inherit之类的,ios,swift,swiftui,Ios,Swift,Swiftui,我有一些SwiftUI视图,其中有许多重复部分,如下所示: import SwiftUI struct SomeView: View { // start of the repeating part @EnvironmentObject var mainViewModel: MainViewModel @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
import SwiftUI
struct SomeView: View {
// start of the repeating part
@EnvironmentObject var mainViewModel: MainViewModel
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
@ObservedObject var viewModel: AuthViewModel
init(viewModel:AuthViewModel){
self.viewModel = viewModel
}
// end of the repeating part
var body: some View {
// some view
}
}
导入快捷界面
结构SomeView:View{
//重复部分的开始
@环境对象变量mainViewModel:mainViewModel
@环境(\.presentationMode)变量presentationMode:绑定
@ObservedObject变量视图模型:AuthViewModel
初始化(视图模型:AuthViewModel){
self.viewModel=viewModel
}
//重复部分的末尾
var body:一些观点{
//一些看法
}
}
在java或Kotlin中,我可以简单地继承其类型的类,
但我注意到struct不能被继承。
那么,实现这一点的替代方法是什么呢?协议和协议扩展是继承的替代方法
我想在您的案例中,您尝试使用视图组合来处理不同的身份验证视图。
泛型是一种解决方案,
struct SomeView:View
使用组合和聚合概念而不是继承。