前提
SwiftUIでString型の日付の配列をまとめてDate型にするシステムを作っています。
ContentView内for-in文で変換しようとしたところ以下のエラーが発生しました。
実現したいこと
- 配列dateの中身をDate型に変換した新しい配列formattedDateArrayを作りたいです
発生している問題・エラーメッセージ
Expected declaration
該当のソースコード
Swift
1import SwiftUI 2//ここに書いてもできませんでした 3struct ContentView: View { 4 var date:[String] = ["2022/7/24","2022/7/25","2022/7/26","2022/7/27","2022/7//28"] 5 var formattedDateArray:[Date] = [] 6 func dateFromString(string: String, format: String) -> Date { 7 let formatter: DateFormatter = DateFormatter() 8 formatter.calendar = Calendar(identifier: .gregorian) 9 formatter.dateFormat = format 10 return formatter.date(from: string)! 11 } 12 for i in date { //ここにエラーが出ます 13 var formattedDate = dateFromString(string: i, format: "y/M/d") 14 formattedDateArray.append(formattedDate) 15 }
試したこと
調べたところContentView(構造体?)内に直接処理を書いてはいけないのだとわかりました。
しかし自分は初心者なのでどこにこの処理を書いたらいいのかがわかりません。
この機能を動かすにはどこに記述すればいいのですか?
struct ContentViewの外に処理を書いてみると、「Statements are not allowed at the top level」とエラーが出てしまいました。
