SwiftUI Использование OR (||) в привязках - PullRequest
2 голосов
/ 10 апреля 2020

Есть ли способ использовать ИЛИ || в привязке Swift UI?

Вот пример:

Класс 1:

@State var loading = false
...

Класс 2 :

@State var loading = false
...

Внутри поля зрения:

@ObservedObject var obj1: Class1
@ObservedObject var obj2: Class2
...
...
...
.pullToRefresh(isShowing: self.$obj1.loading || self.$obj2.loading) {
    self.obj1.loadData()
    self.obj2.reloadData()
}

1 Ответ

3 голосов
/ 10 апреля 2020

Вы можете использовать расширение, как показано ниже, но обратите внимание, что в таких операторах вы не можете действовать с привязкой ' на множестве ', вместо этого вы должны работать только с компонентами - привязка только реагирует

extension Binding where Value == Bool {

    static func ||(_ lhs: Binding<Bool>, _ rhs: Binding<Bool>) -> Binding<Bool> {
        return Binding<Bool>( get: { lhs.wrappedValue || rhs.wrappedValue }, 
                              set: {_ in })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...