您的位置:首页 > 其它

三目运算、可选类型

2016-03-24 20:13 197 查看
//: Playground - noun: a place where people can play

import UIKit

let num = 10
if num == 5
{
print("5")
}else{
print("10")
}

/*
在OC中,if else 可以使用三目运算符来简写
注意:在做Swift开发中三目运算符用得频率非常高
*/
let res = (num == 5) ? 5 : 10
print(res)

/*
可选类型:代表可以有也可以没有 Optional
*/
/*
convenience init?(string URLString: String)
但凡看到一个方法或者数据类型后面有?,就代表返回的是一个可选类型
使用可选类型需要注意,如果直接打印可选类型,那么打印出来的值会被Optional()包裹

初学者看到? 要谈定一点,因为从OC转入Swift之后,最让蛋疼的就是?、!、??
*/
let url = NSURL(string: "http:/www.baidu.com")
print(url) //"Optional(http:/www.baidu.com)\n"
print(url!) //"http:/www.baidu.com\n"

// ! 代表告诉编译器,可选类型一定有值,强制解析
// 如果可选类型中没有值,而又进行了强制解析,那么程序会崩溃

// Swift的用意就是让我们将大部分的运行时的错误,都编译时解决
if url != nil
{
let request = NSURLRequest(URL: url!) //这里的必须使用!强制解析,因为NSURLRequest不接受可选类型
}

/*
可选绑定
*/
// 这里会将url中的值取出来赋值给urlFinal变量,如果值不为nil,那么就可以进入{}
if let  urlFinal = url{
let request = NSURLRequest(URL: urlFinal)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: