Q&A
前提
SwiftUI (Xcode Version 13.4.1) の超初心者です。
実現したいこと
元旦から今日までの日数を計算するために、"2022/1/1"を Date型の変数にして date2 に代入したい。
その後、date2 - date1 にて日数を算出する。
発生している問題・エラーメッセージ
エラーメッセージ Cannot use instance member 'calendar' within property initializer; property initializers run before 'self' is available
該当のソースコード
SwiftUI
1 2import SwiftUI 3 4struct ContentView: View { 5 var calendar = Calendar(identifier: .gregorian) 6 7 let date1 = Date() 8 let date2 = calendar.date(from: DateComponents(year: 2020, month: 1, day: 1, hour: 0, minute: 0, second: 0)) 9 10 var body: some View { 11 VStack { 12 Text("\(date1)").padding() 13 Text("\(date2)").padding() 14 } 15 } 16} 17 18struct ContentView_Previews: PreviewProvider { 19 static var previews: some View { 20 ContentView() 21 } 22}
試したこと
date2 を以下の式にすると、エラーはでず、以下が表示されました。
let date2 = DateComponents(year: 2020, month: 1, day: 1, hour: 0, minute: 0, second: 0)
(date2 の表示された内容)
<NSDateComponents: 0x600003830d60>{
Calendar Year: 2020
Month: 1
Day: 1
Hour: 0
Minute: 0
Second: 0
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/07/26 12:08