Ios 在swiftUI中集成重复代码,比如inherit之类的

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>

我有一些SwiftUI视图,其中有许多重复部分,如下所示:

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
使用组合和聚合概念而不是继承。