Before iOS 15 I had a custom class SelectableButtonItem: UIBarButtonItem with isSelected property which worked perfectly:
class SelectableButtonItem: UIBarButtonItem {
var isSelected = false {
didSet {
// ... some custom action
}
}
}
iOS 15 and Xcode 13 introduced isSelected property in UIBarButtonItem, so for iOS 15 I don't need to declare it anymore.
@available(iOS 15.0, *) allows to declare properties available in iOS 15 and above.
class SelectableButtonItem: UIBarButtonItem {
@available(iOS 15.0, *)
override var isSelected: Bool {
get { super.isSelected }
set {
super.isSelected = newValue
// ... some custom action
}
}
}
I can't put if @available ... else here, as it is not allowed at the property declaration level.
How do I declare not overridden isSelected property only for iOS 14 and below?