Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI Init方法不适用于ObservedObject声明_Ios_Swift_Xcode_Swiftui_Swift5 - Fatal编程技术网

Ios SwiftUI Init方法不适用于ObservedObject声明

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

我正在尝试使用Swift UI在Swift中创建一个选项卡式应用程序。我正在使用@ObservedObject存储应渲染的当前视图名称

我试图更改UI选项卡栏的背景色,但是每次我添加init以覆盖该方法时,该方法都会开始抛出错误,例如“传递给不带参数的调用的参数”

我在下面附上了一段控制器代码。非常感谢为解决此问题提供的任何帮助

导入快捷界面
结构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
     }

}