05.swift?可选类型-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

05.swift?可选类型

import UIKit

创新互联建站专注于企业营销型网站、网站重做改版、石鼓网站定制设计、自适应品牌网站建设、H5场景定制成都商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为石鼓等各大城市提供网站开发制作服务。

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

class Person : NSObject {

    var name : String?

    var view : UIView?

}

// 1.定义可选类型

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

// var name : Optional

// 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

/*

 可选值可以利用if语句来进行判断

 */

var optValue4: Int?

ifoptValue4 !=nil

{

   print(optValue4)

}else

{

   print(optValue4)

}

/*

 提取可选类型的值(强制解析)

 会将optValue中的整型值强制拿出来赋值给变量result,换句话说就是告诉编译器optValue一定有值,因为可选类型有两种状态有值和没有值,所以需要告诉编译器到底有没有值

 需要注意的是如果强制解析optValue,但是optValue中没有值时会引发一个运行时错误

 */

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)

}


网站栏目:05.swift?可选类型
本文来源:http://kswsj.cn/article/gdpode.html

其他资讯