swift - 初始化器 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';属性初始化程序在'之前运行'自我'可用"
我是 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"))
}
}
推荐阅读
- google-apps-script - Google Apps 脚本中的服务帐户未授予访问权限或访问权限已过期
- python - 将 pandas 系列类型从 str 更改为 list/numeric
- python - 如果我同时使用'\b'和'\n',为什么不删除最后一个字符?
- c# - Xamarin Android ReadOnlyStream 读取时缓冲区太小
- flutter - Flutter Login/Logout button 基于用户登录/注销的可见性
- r - 将ggballoonplot与R中的树状图结合起来
- ios - 有没有办法在颤动中从 iOS 中排除一个包?
- linux - Linux 中用于查看已删除文件总大小的脚本
- html - 我的其他文件夹和图像无法使用并与网站链接
- python - matplotlib 中的 figsize 不会改变图形大小