【发布时间】:2021-09-14 19:45:30
【问题描述】:
我正在尝试将变量 code 从结构 FormularyDetail 传递到嵌套结构 WebView 但继续收到错误
“FormularyDetail”类型的实例成员“代码”不能用于嵌套类型“FormularyDetail.WebView”的实例。
我的快速代码如下:
struct FormularyDetail: View {
var drugmaster: DrugMaster
var code: String {
get {
return drugmaster.code
}
}
let testHTML = Bundle.main.url(forResource: "www/index", withExtension: "html")
struct WebView: UIViewRepresentable {
let request: URLRequest
static var codein: String {
get {
return FormularyDetail.code //I got the error on this line
}
}
...
感谢任何帮助。
【问题讨论】:
-
嵌套类型定义不允许您访问外部类型属性。将它们视为两种不相关的类型。如果您需要访问
code,则需要将其传入,例如通过init -
即使可以从封闭类型访问属性,尝试从静态上下文访问实例属性时仍会遇到问题,这是不可能的。您究竟想在这里实现什么目标?