首页 > 解决方案 > 如何将 nil 分配给 SwiftUI 中的绑定对象?

问题描述

我想在 init 方法中默认 returnGroup 为 nil ,但我收到以下错误
Nil default argument value cannot be convert to type 'Binding'
想知道如何将绑定设置为 nil ?

class DisplayPlayGroupViewModel: ObservableObject {

    @Binding var closeFlag : Bool
    @Binding var returnGroup : PlayGroup?


    init(closeFlag : Binding<Bool> , returnGroup : Binding<PlayGroup?> = nil){ //<----Error
        self._closeFlag = closeFlag
        self._returnGroup = returnGroup
    }

标签: bindingswiftui

解决方案


如果要将 nil 分配给绑定,请使用 .constant(nil) 设置它。这是你如何做到的。

init(closeFlag : Binding<Bool> , returnGroup : Binding<PlayGroup?> = .constant(nil)) {
    self._closeFlag = closeFlag
    self._returnGroup = returnGroup
}

推荐阅读