戻り値 新しく初期化されたデータ検出器を返します。エラーが発生した場合は nil を返し、error にはエラーが含まれます。
それはアップルのドキュメントが言っている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 を受け入れるすべての init またはすべての関数は誤りがありますか?