在SwiftUI中初始化之前使用的变量“varname”

Xcode Playground 中的以下代码在主题中产生错误:

import SwiftUI

struct Test2 {
    var i: Int64
    var j: UUID
}

struct Test {
    @State private var t: Test2
    
    init(_ test: Test2) {
        t = test // Variable 'self.t' used before being initialized
    }
}

显然,我没有使用t,而是为其分配了一个值。

如果我var j: UUID从 中删除Test2 struct,错误就会消失。

在我的实际代码中,Test 结构是一个视图,但这不是生成错误所必需的。

回答

这应该有效:

init(_ test: Test2) {
    _t = State(initialValue: test) // Variable 'self.t' used before being initialized
}

@State 是一个属性包装器,因此您需要为基础属性赋值,因此_


以上是在SwiftUI中初始化之前使用的变量“varname”的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>