SwiftUI @Binding Initialize

后端 未结 3 2030
一个人的身影
一个人的身影 2020-12-04 21:12

Been playing around with SwiftUI and understood the concept of BindableObjects etc so far (at least I hope I do).

I bumped into a stupid problem I can\

3条回答
  •  孤城傲影
    2020-12-04 22:07

    Using Binding.constant(false) is fine but only for static previews. If you actually wanna launch a Live Preview, constant will not behave the same way as the real case as it will never be updated by your actions. I personally use Live Preview a lot, as I can play around with an isolated view.

    Here is what I do for previews requiring Binding:

    import SwiftUI
    
    struct SomeView: View {
       @Binding var code: String
    
       var body: some View {
         // some views modifying code binding
       }
    }
    
    struct SomeView_Previews: PreviewProvider {
      static var previews: some View {
        PreviewWrapper()
      }
    
      struct PreviewWrapper: View {
        @State(initialValue: "") var code: String
    
        var body: some View {
          SomeView(code: $code)
        }
      }
    }
    

提交回复
热议问题