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?