66337


Date型のBinding変数をプレビューで記載する方法がわかりません。  
以下のようなコードがあり、Binding変数の例として、4/4/2020を入れて、プレビュー表示させたいのですが、どのようにプレビューに記載すれば良いでしょうか。  
ご教授のほど、よろしくお願い致します。

[code]

    struct ConfirmView: View{
        @Binding var name:String
        @Binding var gender:String
        @Binding var birthDate:Date
        @Binding var mail:String
        @Binding var password:String
        var body: some View {
            NavigationView{
    
                Text("aa")
            }
        }
    }
    
    struct ConfirmView_Previews: PreviewProvider {
        static var previews: some View {
            ConfirmView(name: .constant("hiroshi"), gender: .constant("男"), birthDate: Date(4/4/2020), mail: .constant("abc.com"), password: .constant("12345"))
        }
    }```
    
[/code]


CC BY-SA 4.0
2020-05-06T02:03:14.580
66336
2020-05-06T02:47:29.333
39728
question
swift swiftui
SwiftUI Binding変数のプレビューでの表示について


[`constant(_:)`メソッド](https://developer.apple.com/documentation/swiftui/binding/3134578-constant)をご存知なのであれば、値として`4/4/2020`を表す`Date`型の式を指定することだけです。

(とは言え、あまり便利メソッドのないAppleのDate型では、そこが面倒なのですが。ところで`4/4/2020`と言うのはアメリカ式の`月/日/年`でしょうか、ヨーロッパ式の`日/月/年`でしょうか?以下の回答はAppleの所在地に合わせ、アメリカ式です。)

[code]

    struct ConfirmView_Previews: PreviewProvider {
        static let birthDate: Date = {
            let df = DateFormatter()
            df.dateFormat = "MM/dd/yyyy"
            df.locale = Locale(identifier: "en_us_POSIX")
            //df.timeZone = TimeZone(identifier: "UTC")
            return df.date(from: "4/4/2020")!
        }()
        static var previews: some View {
            ConfirmView(name: .constant("hiroshi"), gender: .constant("男"), birthDate: .constant(birthDate), mail: .constant("abc.com"), password: .constant("12345"))
        }
    }
    
[/code]

`Date`型で(時刻を除く)日付だけを表すと言うのは結構面倒な点があれこれ出てきます。使い方によっては、コメントアウトしてあるタイムゾーンの設定をコードインしてもらった方が良いかもしれません。


CC BY-SA 4.0
2020-05-06T02:47:29.333
66337
2020-05-06T02:47:29.333
13972
66336
answer