struct ContentView: View {
@State var theme: Int = 1
var emojis = getEmojis(theme)
主题不能传递给函数。不能在属性初始化器中使用实例成员'theme';属性初始化器在'self'可用之前运行我不熟悉swift,当我编码时,我发现我不能将var的值传递给我写的函数。请帮帮我。我可以传递1、2或3给函数,但我不能传递var的值给函数。
这取决于你想做什么:)
如果您尝试将emojis
初始化为getEmojis
的值,但它们的值将来会不同(您希望独立于getEmojis
的值修改emojis
),则使用lazy var
struct ContentView: View {
@State var theme: Int = 1
lazy var emojis = getEmojis(theme)
// ...
}
如果emojis
应该始终保持getEmojis
的值,使用计算属性,就像@Raja Kishan指出的
使用computed property
var emojis: YourType {
getEmojis(theme)
}
当前,您正在尝试初始化一个emojis变量与另一个主题变量在初始化时。你不能为依赖于另一个var属性的第二个var属性提供值。