0

戻り値 新しく初期化されたデータ検出器を返します。エラーが発生した場合は nil を返し、error にはエラーが含まれます。

それはアップルのドキュメントが言っているNSDataDetectorことのすべてであり、 init.

失敗するdo try catch可能性のある のセットを供給する可能性があるため、 にラップされているだけですか、それとも失敗する可能性のある依存関係がありますか?NSTextCheckingTypeinit

または別の言い方をすると:

初期化が一度機能する場合、それは常に機能し、その後使用できますか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 またはすべての関数は誤りがありますか?

4

0 に答える 0