温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

05.swift ?可选类型

发布时间:2020-06-03 11:36:06 阅读:338 作者:光光ing 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

import UIKit

// 类中所有的属性在对象初始化时,必须有初始化值

class Person : NSObject {

    var name : String?

    var view : UIView?

}

// 1.定义可选类型

// 1>普通定义可选类型的方式

// var name : Optional<String>

// 2>语法糖

var name : String?

// 2.给可选类型赋值

name = "why"

// 3.从可选类型中取值

// Optional("why")

print(name)

// 从可选类型中取值:可选类型!-->强制解包

//print(name!)

// 4.注意:如果可选类型中没有值,那么强制解包程序会崩溃

// 强制解包是非常危险的操作:建议在解包前先判断可选类型中是否有值

if name != nil {

    print(name!)

    

    print(name!)

    

    print(name!)

}

// 5.可选绑定

// 1> 判断name是否有值,如果没有值,则不执行{}.

// 2> 如果有值,则对可选类型进行解包,并且将解包后的值赋值给前面的常量

//if let tempName = name {

//    print(tempName)

//}

if let name = name {

    print(name)

    print(name)

    print(name)

    print(name)

}

/*

 可选值: optionals有两种状态:

 1.有值 2.没有值, 没有值就是nil

 */

//有值:

var optValue1: Int? = 9

//没有值:

var optValue2: Int?

var optValue3: Int? = nil

/*

 */

var optValue4: Int?

if optValue4 != nil

{

    print(optValue4)

}else

{

    print(optValue4)

}

/*

 */

var optValue5: Int? = 9

var result1: Int = optValue5!

print(result1)

//报错:

var optValue6: Int?

var result2: Int = optValue6!

print(result2)

/*

 如果optValue没有值就不会做任何操作, 如果optValue有值会返回true并将optValue的值赋值给result执行大括号中的内容

 */

var optValue: Int? = 9

if let result3 = optValue

{

    print(result3)

}

可选类型的使用

let urlString = "http://www.520it.com"

// 1.普通写法

let url : NSURL? = NSURL(string: urlString)

if url != nil {

    let request = NSURLRequest(URL: url!)

}

// 可选绑定

if let url = url {

    let request = NSURLRequest(URL: url)

}

// 可选绑定的简介写法

if let url = NSURL(string: urlString) {

    let request = NSURLRequest(URL: url)

}

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×