クラス参照によると、captureStillImageAsynchronouslyFromConnectionの完了ハンドラはNSErrorオブジェクトを受け取りますが、オプションではありません。captureStillImageAsynchronouslyFromConnectionの関数宣言とパラメータの記述の間に競合がありますか?
関数の宣言:パラメータの説明ではまだ
func captureStillImageAsynchronouslyFromConnection(connection: AVCaptureConnection!, completionHandler handler: ((CMSampleBuffer!, NSError!) -> Void)!)
、その要求が満たされた場合にはnilがNSErrorオブジェクトの代わりに完了ハンドラに返されることがありますと言います。
パラメータ説明:
If the request could not be completed, an NSError object that describes the problem; otherwise nil.
記述はそれがない、宣言がNSErrorオブジェクトのためのオプションが含まれている必要があります示唆していますか?パラメータの説明と関数の宣言が矛盾していませんか?
通常のオプションではなく、宣言で暗黙のアンラップオプションを使用する理由は、あなたが強制的に使用する必要がないということです!関数全体を通して?ありがとう! – Crashalot
それは大きな理由ですが、期限を過ぎないように注意してください。安全なケースがいくつかありますが、安全性が勝ちます。このリンクの@drewagのポストをチェックしてください:http://stackoverflow.com/questions/24006975/why-create-implicitly-unwrapped-optionals安全に遊んでいる間にそれを使用するための多くの方法についてより詳しく調べてください。 – Laurent
ええ、理解される。通常のオプションとは対照的に、リンゴが暗黙的にアンラップされたオプションを使用していた理由を理解しようとしています。その理由は何ですか? – Crashalot