SwiftUIで配列に要素を追加し、追加した要素を表示する方法
解決したいこと
SwiftUIで、配列に要素を追加し、追加した要素を表示したい。
Swift勉強中の初心者です。
newarray1(以下ソースコードで宣言している配列の名称)に対し、
.append()メソッドを使用して配列の最後に要素を追加し、追加した要素を表示しようとしたところ、
以下のエラーが発生しました。
解決方法のご教授を、よろしくお願いします。
※補足です〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
以前にも似たような質問(https://qiita.com/_mittttz/questions/73930df1cf1bd9dca9f6)
をさせていただき、()型やsubscriptについて触れながら回答いただいたのですが、まだよく理解できておりません。
ビューの表示に関すること以外(例えば本質問では、appendメソッドを使用して配列に要素を追加する処理)
は、var body: some View {}の外側に書くべきでしょうか。
その場合、どのように書くのが一般的なのでしょうか。
※〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
発生している問題・エラー1
var newarray1 = testarray1.append("g")に対して、以下の警告文が出ています
Variable 'newarray1' inferred to have type '()', which may be unexpected
発生している問題・エラー2
Text("(newarray1[6])")に対して、以下のエラー文が出ています
Value of type '()' has no subscripts
該当するソースコード
//Xcodeのバージョン Version 12.3 (12C33)
//Swiftのバージョン Apple Swift version 5.3.2
import SwiftUI
var testarray1: [String] = ["c", "a", "d", "b", "e", "f"]
struct ContentView: View {
var body: some View {
//配列の最後に要素を追加(.append()メソッドを利用して追加)
var newarray1 = testarray1.append("g")
//追加した要素を確認したいので、5+1個目の要素を呼び出して表示
Text("\(newarray1[6])")
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}