Ios SwiftUI Init方法不适用于ObservedObject声明
我正在尝试使用Swift UI在Swift中创建一个选项卡式应用程序。我正在使用@ObservedObject存储应渲染的当前视图名称 我试图更改UI选项卡栏的背景色,但是每次我添加init以覆盖该方法时,该方法都会开始抛出错误,例如“传递给不带参数的调用的参数” 我在下面附上了一段控制器代码。非常感谢为解决此问题提供的任何帮助Ios SwiftUI Init方法不适用于ObservedObject声明,ios,swift,xcode,swiftui,swift5,Ios,Swift,Xcode,Swiftui,Swift5,我正在尝试使用Swift UI在Swift中创建一个选项卡式应用程序。我正在使用@ObservedObject存储应渲染的当前视图名称 我试图更改UI选项卡栏的背景色,但是每次我添加init以覆盖该方法时,该方法都会开始抛出错误,例如“传递给不带参数的调用的参数” 我在下面附上了一段控制器代码。非常感谢为解决此问题提供的任何帮助 导入快捷界面 结构ContentView:View{ @国家私有变量选择=0 @观察对象变量coreRouter:coreRouter init(){ UITabBar
导入快捷界面
结构ContentView:View{
@国家私有变量选择=0
@观察对象变量coreRouter:coreRouter
init(){
UITabBar.appearance().backgroundColor=UIColor.blue
}
var body:一些观点{
选项卡视图(选择:$selection){
文本(“第一屏”)
.font(.title)
.tabItem{
VStack{
图像(系统名称:“房屋”)
文本(“主页”)
}
}
.tag(0)
文本(“第二视图”)
.font(.title)
.tabItem{
VStack{
图像(“日历”)
文本(“新项目”)
}
}
.标签(1)
}
}
}
结构内容视图\u预览:PreviewProvider{
静态var预览:一些视图{
ContentView(coreRouter:coreRouter())
}
}
试试这个:
(我必须创建一个虚拟类,因为您没有为corerouter提供代码)
由于您的
ContentView
具有coreRouter
属性,因此您的init
需要接受分配给该属性的值
struct ContentView: View {
@State private var selection = 0
@ObservedObject var coreRouter: CoreRouter
init(coreRouter: CoreRouter) {
self.coreRouter = coreRouter
UITabBar.appearance().backgroundColor = UIColor.blue
}
}
您的
init
需要接受coreRouter
参数
struct ContentView: View {
@State private var selection = 0
@ObservedObject var coreRouter: CoreRouter
init(coreRouter: CoreRouter) {
self.coreRouter = coreRouter
UITabBar.appearance().backgroundColor = UIColor.blue
}
}