Я пытаюсь использовать Swift Combine для получения измененного события свойства.
У меня есть этот класс, который публикует sh свойство isLogged
class CurrentUser: Account {
static let me = CurrentUser() //Singleton
@Published var isLogged: Bool = false
}
, которое наследовать от этого другого класса, который публикует sh свойство profileImageVersion
class Account {
@Published var profileImageVersion: String?
init(){
self.profileImageVersion = ""
}
}
Я пытаюсь подписаться на опубликованное свойство наследования profileImageVersion
, как это без успеха!
// Subscribe to account image changes
userImageChangedSubscriber = CurrentUser.me.$profileImageVersion.receive(on: DispatchQueue.main).sink(receiveValue: { (imageVersion) in
...
}
})
Ошибка Fatal error: Call of deleted method
, если, с другой стороны, я подписываюсь на свойство isLogged
, все работает нормально ...
// Subscribe to logged changes
userLoggedSubscriber = CurrentUser.me.$isLogged.receive(on: DispatchQueue.main).sink(receiveValue: { (logged) in
...
})
Эта ошибка выбрасывается только на Xcode 11.4 beta 2 / iOS 13.4.
При использовании Xcode 11.3.1 / 13.3 все работает нормально!