Безопасно ли использовать попробуйте! NSDataDetector()
Возвращаемое значение Возвращает недавно инициализированный детектор данных. Если обнаружена ошибка, возвращается ноль, и ошибка содержит ошибку.
Вот и все, что говорят о Apple Docs NSDataDetector
И его init
,
Это только завернутый в do try catch
потому что вы могли бы накормить его набором NSTextCheckingType
что потерпит неудачу init
или у него есть некоторые зависимости, которые могут привести к сбою?
Или, говоря по-другому:
Если инициализация работает один раз, будет ли она работать всегда, и могу ли я потом использовать try!
Это работает:
guard let detector = try? NSDataDetector(types: NSTextCheckingType.Date.rawValue) else {
return
}
Так будет ли это всегда работать:
let detector = try! NSDataDetector(types: NSTextCheckingType.Date.rawValue)
В некоторых случаях было бы не нужно иметь дело с опциями. Конечно, однажды класс может измениться, и тогда он может потерпеть неудачу. Так что этот вопрос как раз о NSDataDetector
как это существует сегодня.
Обновить:
NSDataDetector
и все NSTextCheckingType
Доступны из iOS 4. Это заставляет меня думать, что если инициализация работает, она всегда будет работать.
Следующее, что я проверю:
Все init или все функции, которые принимают OptionSetType, подвержены ошибкам?