我加载了两个数组,每个数组有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)
}
两个数组成功填充,如以下控制台输出所示。
但是我不能读取body视图中的数组。
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的值没有成员转换。
但是当我在函数外部声明变量时,它也不起作用。老实说,我不理解变异函数,所以我有点迷茫。干杯。
发布于 2020-03-22 03:45:50
为了防止有人想知道,我最终将这两个数组组合成一个二维数组,然后返回它。
func getArrayValues() -> [[String]] {
var btns: [[String]] = [[]]
let buttonRows = DatabaseHelper().queryDatabase(passedCategory: category)
for each in buttonRows {
btns.append([each.english,each.indonesian])
}
gotValues = true
return btns
}
https://stackoverflow.com/questions/60789531
复制