在线时间:8:00-16:00
132-9538-2358
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
// 错误写法 // let string : String = nil // 正确写法: // 注意:name的类型是一个可选类型,但是该可选类型中可以存放字符串. // 写法一:定义可选类型 let name : Optional<String> = nil // 写法二:定义可选类型,语法糖(常用) let name : String? = nil
// 演练一:给可选类型赋值 // 定义可选类型 var string : Optional<String> = nil // 给可选类型赋值 // 错误写法:因此该可选类型中只能存放字符串 string = 123 // 正确写法: 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 let str = string { print(str) }
// 通过该方法创建的URL,可能有值,也可能没有值. // 错误写法:如果返回值是nil时,就不能接收了 // 如果字符串中有中文,则返回值为nil,因此该方法的返回值就是一个可选类型,而使用一个NSURL类型接收是错误的 let url : NSURL = NSURL(string: "www.520it.com") // 正确写法:使用可选类型来接收 let url : NSURL? = NSURL(string: "www.520it.com") // 该方式利用类型推导 let url = NSURL(string: "www.520it.com") // 通过url来创建request对象:在使用可选类型前要先进行判断是否有值 // 该语法成为可选绑定(如果url有值就解包赋值给tempURL,并且执行{}) if let tempUrl = url { let request = NSURLRequest(URL: tempUrl) }
评论
请发表评论