【发布时间】:2020-07-02 11:56:56
【问题描述】:
在用数据库中的值填充结构数组之后,我已经加载了 2 个数组,每个数组有 16 个值。这是代码。
func getArrayValues() {
var btns: [String] = []
var translations: [String] = []
let buttonRows = DatabaseHelper().queryDatabase(passedCategory: category)
for each in buttonRows {
btns.append(each.english)
translations.append(each.indonesian)
}
print(btns)
print(translations)
}
但我无法读取正文视图中的数组。
var body: some View {
NavigationView {
VStack {
Text("\(self.translation)")
.italic()
.frame(maxWidth: .infinity)
HStack(spacing:0) {
VStack {
Button(action: {
playSound(sound: "\(self.category)_audio1", type: "mp3")
self.translation = self.translations[0]
}) {
Text("\(self.btn1)")
}
我收到错误:SoundPageView 的值没有成员翻译。
但是当我在函数之外声明变量时,它也不起作用。老实说,我不了解变异函数,所以我有点迷茫。干杯。
【问题讨论】:
-
getArraysValues()函数在哪里声明,你在哪里调用它?我假设在View结构内,但在init或onAppear? -
是的,它在 .onAppear ` .onAppear { print("soundpage load") self.getArrayValues()`