I have an app that uses local notifications and supports iOS 10. I am trying to add iOS 9 support which requires me to use the old location notification API. I am trying to use
Here is one potential solution (thanks to blog post). The idea is to use a stored property with a type of Any
and then create a computed property that will cast the stored property (and instantiate it if necessary).
private var _selectionFeedbackGenerator: Any? = nil
@available(iOS 10.0, *)
fileprivate var selectionFeedbackGenerator: UISelectionFeedbackGenerator {
if _selectionFeedbackGenerator == nil {
_selectionFeedbackGenerator = UISelectionFeedbackGenerator()
}
return _selectionFeedbackGenerator as! UISelectionFeedbackGenerator
}
Another option is to use lazy
(however, this makes the variable read-write):
@available(iOS 10.0, *)
private(set) lazy var center = UNUserNotificationCenter.current()