SwiftTour随笔总结

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

关于Optional的Control Flow

if let constantName = someOptional {

statements

}

如果该Optional为nil,则不进入if,否则执行且constantName为该Optional的值

例子:

if let actualNumber = possibleNumber.toInt() {PRintln("\(possibleNumber) has an integer value of \(actualNumber)")

} else {

println("\(possibleNumber) could not be converted to an integer")

}

关于nil

optional可以被赋值为nil

例如:

var serverResponseCode: Int? = 404

serverResponseCode = nil

var surveyAnswer: String?

// surveyAnswer is automatically set to nil

optional的拓展:Implicitly Unwrapped Optionals

有的时候,一个optional在第一次赋值之后将是安全的,不用做nil检查

定义:String! 而不是 String?

举例:

let possibleString: String? = "An optional string."

println(possibleString!) // requires an exclamation mark toaccessthis value

// prints "An optional string."

let assumedString: String! = "An implicitly unwrapped optional string."

println(assumedString) // no exclamation mark is needed to access its value

// prints "An implicitly unwrapped optional string."

对于这种特殊类型(IUO),适用普通optional用法:

if assumedString {

println(assumedString)

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航