初始化器 SwiftUI 中的变量
Variable in initializer SwiftUI
我有这个代码:
import SwiftUI
import QGrid
struct VerCanales: View {
var categoria:String
@ObservedObject var canales = CargarCanales(categoriaID: categoria)
var body: some View {
NavigationView{
QGrid(self.canales.listaCanales, columns: 3){item in
NavigationLink(destination:VlcPlayerDemo()){
Text(item.name).frame(width:400, height:50)
}
}
}.navigationBarTitle(Text("CHANNELS AVAILABLE"))
}
}
变量“categoria”来自先前的视图作为参数,我需要将其作为参数传递给@ObservedObject,但出现以下错误:“无法在 [ 中使用实例成员 'categoria' =20=] 初始化器;属性 初始化器 运行 在 'self' 可用之前
我是 Swift 语言的新手,我搜索过但找不到好的解决方案
您需要在 VerCanales 视图 init 中初始化 canales 变量。
struct VerCanales: View {
private var categoria: String
@ObservedObject var canales: CargarCanales
init(categoria: String, canales: CargarCanales) {
self.categoria = categoria
self.canales = canales
}
var body: some View {
NavigationView{
QGrid(self.canales.listaCanales, columns: 3){item in
NavigationLink(destination:VlcPlayerDemo()){
Text(item.name).frame(width:400, height:50)
}
}
}.navigationBarTitle(Text("CHANNELS AVAILABLE"))
}
}
我有这个代码:
import SwiftUI
import QGrid
struct VerCanales: View {
var categoria:String
@ObservedObject var canales = CargarCanales(categoriaID: categoria)
var body: some View {
NavigationView{
QGrid(self.canales.listaCanales, columns: 3){item in
NavigationLink(destination:VlcPlayerDemo()){
Text(item.name).frame(width:400, height:50)
}
}
}.navigationBarTitle(Text("CHANNELS AVAILABLE"))
}
}
变量“categoria”来自先前的视图作为参数,我需要将其作为参数传递给@ObservedObject,但出现以下错误:“无法在 [ 中使用实例成员 'categoria' =20=] 初始化器;属性 初始化器 运行 在 'self' 可用之前
我是 Swift 语言的新手,我搜索过但找不到好的解决方案
您需要在 VerCanales 视图 init 中初始化 canales 变量。
struct VerCanales: View {
private var categoria: String
@ObservedObject var canales: CargarCanales
init(categoria: String, canales: CargarCanales) {
self.categoria = categoria
self.canales = canales
}
var body: some View {
NavigationView{
QGrid(self.canales.listaCanales, columns: 3){item in
NavigationLink(destination:VlcPlayerDemo()){
Text(item.name).frame(width:400, height:50)
}
}
}.navigationBarTitle(Text("CHANNELS AVAILABLE"))
}
}