And*_* F. 10 optional swift swift2
看一下Apple文档中的这个声明:
let optionalInt: Int? = 9
Run Code Online (Sandbox Code Playgroud)
你为什么要用Int?
这个常量的类型?你知道它不能nil
为你分配值9吗?可选类型的目的(据我所知)是能够保持nil.
不需要在此声明中optionalInt
保留nil
.有人能解释一下吗
我发现了一个你可以使用它的情况.这有点紧张,但我们走了.
使用的一个原因let x: Int? = whatever
是,如果您有一个重载函数,其中参数是不同的类型,只要一个是可选的.例如:
func doSomething(x: Int)
{
print("\(x) is an Int")
}
func doSomething(x: Int?)
{
print("\(x) is an optional")
}
Run Code Online (Sandbox Code Playgroud)
如果要确保调用第二个重载,则需要将参数显式设置为可选,例如
let y = 5
doSomething(y) // prints 5 is an Int
let z: Int? = 6
doSomething(z) // prints Optional(6) is an optional
Run Code Online (Sandbox Code Playgroud)
在现实生活中我还没有看到这样的东西.
至于Apple文档,这只是一个简单的例子.
归档时间: |
|
查看次数: |
152 次 |
最近记录: |