注意:swift
概念:学习
可选类型的取值:url
空值code
有值对象
定义可选类型开发
// 错误写法 // let string : String = nil // 正确写法: // 写法一:定义可选类型 let string : Optional<String> = nil // 写法二:定义可选类型,语法糖(经常使用) let string : String? = nil
// 演练一: // 定义可选类型 var string : Optional<String> = nil // 给可选类型赋值 string = "Hello world" // 打印结果 print(string) // 结果:Optional("Hello world")\n // 由于打印出来的是可选类型,全部会带Optional // 演练二: // 取出可选类型的真实值(解包) print(string!) // 结果:Hello world\n // 注意:若是可选类型为nil,强制取出其中的值(解包),会出错 string = nil print(string!) // 报错 // 正确写法: if string != nil { print(string!) } // 简单写法:为了让在if语句中能够方便使用string if var str = string { print(str) }
真实应用场景string
// 经过该方法建立的URL,可能有值,也可能没有值 // 错误写法:若是返回值是nil时,就不能接收了 let url : NSURL = NSURL(string: "www.baidu.com") // 正确写法:使用可选类型来接收 let url : NSURL? = NSURL(string: "www.baidu.com") // 经过url来建立request对象 if let tempUrl = url { let request = NSURLRequest(URL: tempUrl) }