逻辑分支
if 判断
var i = 10
if (i > 0) {
print("OK")
}
- 小结
Swift
中没有 C 语言中的非零即真
概念- 在逻辑判断时必须显示地指明具体的判断条件
if
语句条件的()
可以省略- 但是
{}
不能省略
三目运算符
var a = 10
var b = 50
var result = a > b ? a : b
print(result)
- 小结
Swift
中的三目
运算保持了和 OC 一致的风格
可选项
演练 1
let url = NSURL(string: "http://www.520it.com/")
if url != nil {
NSURLSession.sharedSession().dataTaskWithURL(url!,completionHandler: { (data,_,_) -> Void in print(NSString(data: data!,encoding: NSUTF8StringEncoding)) }).resume() }
convenience init?(string URLString: String)
演练 2
if let url = NSURL(string: "http://520it.com") {
NSURLSession.sharedSession().dataTaskWithURL(url,encoding: NSUTF8StringEncoding)) }).resume() }
小结
演练3
var name: String?
print(name?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
name = "lnj"
print(name?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
let l = 10
print(l + (name?.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) ?? 0))