初始化器 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"))
    }
}