、あなたは成功を気にしないかどうか、あなたはスウィフト文書で"Error Handling"から
let fm = NSFileManager.defaultManager()
_ = try? fm.removeItemAtURL(fileURL)
を呼び出すことができる場合:に変換することにより
は、あなたがエラーを処理するためにtry?
を使用しますオプションの値。 try?
式の評価中にエラーがスローされた場合 、式の値 はnil
です。
removeItemAtURL()
戻り "何も"(別名Void
)は、try?
式のため、戻り値はOptional<Void>
です。 この戻り値を_
に割り当てると、「try?」という結果がにならないようにします。使用されていません "警告。
あなたは、あなたがnil
に対してtry?
の 戻り値をテストすることができますスローされた特定のエラーの呼び出しの結果ではなく、 にのみ関心がある場合:
if (try? fm.removeItemAtURL(fileURL)) == nil {
print("failed")
}
更新:Swift 3(Xcode 8)、の場合、少なくともこの特殊なケースではダミー割り当ては必要ありません。
let fileURL = URL(fileURLWithPath: "/path/to/file")
let fm = FileManager.default
try? fm.removeItem(at: fileURL)
は警告なしでコンパイルされます。
ありがとうございました。これは確かに最もエレガントな方法です。しかし、式は "foo?.bar()"のようなオプションの連鎖を使用しているため、返されたおよび使用されていないオプションのVoid値に関する警告は表示されないので、変わっていて矛盾しています。どうして "試してみるべき?"行う?私はアップルがもう少しスウィフト版でこれを修正することを願っています。 – Lensflare
素晴らしい説明をありがとう。 !! –