Optional Binding in parameter SwiftUI

前端 未结 1 1684
无人及你
无人及你 2020-12-12 02:51

Here are my optional binding

@Binding var showSheetModifFile : Bool?
@Binding var fileToModify : File?

init( showSheetModifFile : Binding? = nil         


        
1条回答
  •  伪装坚强ぢ
    2020-12-12 03:09

    There is special Binding constructor for this purpose

    SingleFileView(showSheetModifFile: Binding(self.$showModifFileSheet), 
       fileToModify: Binding(self.$fileToModify))
    

    Update: alternate solution

    struct FileDemoView: View {
        @State var showModifFileSheet : Bool? = false
        @State var fileToModify : File? = File()
    
        var body: some View {
            SingleFileView(showSheetModifFile: $showModifFileSheet, fileToModify: $fileToModify)
        }
    
    }
    
    
    struct SingleFileView: View {
        @Binding var showSheetModifFile : Bool?
        @Binding var fileToModify : File?
    
    
        init(showSheetModifFile : Binding = .constant(nil), fileToModify : Binding = .constant(nil)) {
            _showSheetModifFile = showSheetModifFile
            _fileToModify = fileToModify
        }
    
        var body: some View {
            Text("")
        }
    }
    

    0 讨论(0)
提交回复
热议问题