Optional

//: Optional 可选的,可以有值,也可以为nil
//: init? 说明可能无法实例化url
let url = NSURL(string:"http://www.baidu.com")

// ! 强行解包,程序员认为此处一定有值 一旦没有值则程序崩溃
let request = NSURLRequest(URL: url!)
// 更安全的写法
if url != nil
{
    let request = NSURLRequest(URL: url!)
    
}
// if let 判断并且设置数值
// 确保 muUrl 一定有值,才会进入分支
if let myUrl = url
{
    print(myUrl)
}

var aName:String? = "张三"
var bName: NSInteger? = 18
//: 如果是多值则使用 , 分割
if let name = aName, age = bName
{
    print(name + String(age))
}

//: ?? 操作符号
//: 如果aName 为 nil 使用?? 后面的字符串,否则使用aName
let cName = aName ?? "选我选我"
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Why Optional# 引入optional可以解决两个问题, 解决潜在crash问题 比如OC中像集合dic...
    JellyL阅读 1,372评论 0 1
  • 作为一名程序员,我们是不会甘心止步于语法的“甜”,我们有永恒的动力去揭开这层语法的外衣一看究竟:)。我们在《Opt...
    八条8tiao阅读 1,110评论 0 5
  • 摘要: 针对swift新增的安全类型optional类型的概念理解,以及在开发过程中的一些使用和注意事项。新手开发...
    littlewish阅读 390评论 0 0
  • Optional在swift中表示出nil的方式Optional是一个枚举 有两个case case none c...
    小新12138阅读 594评论 0 0
  • 雨横风狂秋日暮, 楼外斜阳,柳眼坠清露。 轻衫展折几回合, 别意拳拳重叮嘱。 雏鹰展翅向高处, 万水千山,双翼再难...
    秋雨霜荷阅读 447评论 3 4