Я загрузил 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 не имеет переводов элементов.
Но когда я объявляю переменную вне функции, она тоже не работает. Честно говоря, я не понимаю мутации функций, поэтому я немного растерялся. Приветствия.