Безопасно ли использовать попробуйте! 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, подвержены ошибкам?

0 ответов

Другие вопросы по тегам