作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Swift 中使用可选类型时,似乎有两种方法可以检查可选类型是否为 nil
。
var item: String? = "apple"
// Approach A
if item != nil {
"item is \(item!)"
} else {
"no item"
}
// Approach B
if let x = item {
"item is " + x
} else {
"no item"
}
我使用哪种方法来检查可选的是否重要?
最佳答案
它们是等价的,但最好使用:
let x = item
(可选绑定(bind))当你实际需要并使用解包值时item != nil
当你只需要知道它是否不是nil
,但你不需要它的展开值通过可选绑定(bind)展开是有成本的,因此如果您不需要该值,则没有理由将其提取并分配给变量。另一方面,如果您需要该值,最好只通过可选绑定(bind)解包一次(并避免使用强制解包 !
)
关于swift - 在 Swift 中检查可选项的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26692837/
在观看有关 LLDB 调试器的 Apple 视频时,我发现了一些我无法找到解释的内容;他写道: var optional: String? = nil; //This is ok, a common
我是一名优秀的程序员,十分优秀!