比较来自世界各地的卖家的域名和 IT 服务价格

优雅的方式来忽略该方法引起的任何错误

我删除了一个临时文件
NSFileManager

, 像这样:


let fm = NSFileManager//
fm.removeItemAtURL/fileURL/
// error: "Call can throw but it is not marked with 'try'"


当挑战完成时,我真的不在乎如果在那里有一个文件,并且如果已经删除,则让它如此。

什么是优雅的方式 Swift 不使用任何废弃的错误
do/catch

?
已邀请:

冰洋

赞同来自:

如果你不关心成功,你可以打电话


let fm = NSFileManager.defaultManager//
_ = try? fm.removeItemAtURL/fileURL/



https://developer.apple.com/li ... ID508
在 Swift 文档:

你正在使用
try?

要处理错误,将其转换为可选值。
如果在计算表达式时
try?

发生错误,然后是值
从表达式
nil

.


removeItemAtURL//

回报 "nothing" /他一样
Void

/, 因此,表达的返回值
try?

一样
Optional<void>

.
分配此返回值
_

允许避免

警告 "result of 'try?' is unused".

如果您仅对呼叫的结果感兴趣,但不在
抛出的特定错误,然后您可以检查
返回值
try?

vs.
nil

:


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/


没有警告编制。
</void>

要回复问题请先登录注册