您的位置:首页 > 移动开发 > Swift

Swift的Optional、Array

2016-07-26 14:23 447 查看
一、Optional

1、可选型声明关键符号?,每个类型都有可选性,比如下面声明为整型可选性。

var errorCode: Int? =404

print(errorCode)

print(errorCode!)

2、可选型解包关键符号!,例如,下方errorCode解包后就是一个整型变量。

//解包后就是整型

var aInt = errorCode!

aInt

var bInt = 0;

bInt = aInt;

bInt

3、if let 表示判断可选性变量不为nil,Swift中的nil和OC中不同,并不是代表空,而是一种特定的类型,而且变量不会被赋值默认值,所以声明后,如果要使用该变量必须为改变量赋值。

var errorMessage: String? ="Not Found"

//判断errorMessage是否有值,当不为nil时,解包成功,执行if语句

if let errorMessage =errorMessage

{

errorMessage.uppercaseString

}

//也可以写成:此种写法含义与上面if let相同

errorMessage?.uppercaseString

//意义跟上面两种完全不同,此时代表你确定errorMessage不为nil,所以强制解包。当errorMessage这个字符串可选型为nil时,编译会爆error

errorMessage!.uppercaseString

4、我们调用第三方的APK的时候可能errorMessage?.uppercaseString之后返回的还是一个可选型,所以我们可以继续?.方法名,这种就叫做可选型的链条(Optional
Chaining)

//返回值也是可选型,因为可能会转换失败,

errorMessage?.uppercaseString

5、a ?? b 相当于 a !=nil ? 1 : 2

6、隐士可选型

var name: String! =nil

//使用的时候必须赋值,不赋值会报错,无法执行

name = "not found"

"This message is "+name

二、数组

1、声明数组

//整型Array

var aArray = ["1","2","3","4","5"]

//相当于

var bArray: [String] = ["1","2","3","4","5"]

//swift 字符串双引号之内默认是String,哪怕只有一个字符,如果想要声明Character显示声明

var cArray: [Character] = ["1","2","3","4","5"]

//或者也可以写成

var dArray: Array = ["1","2","3","4","5"]

//或者

var eArray: Array<String> = ["1","2","3","4","5"]

2、NSArray

//array 和NSArray最大的区别是NSArray可以放不同类型的数据

var gArray: NSArray = ["1",2,"3","4","5"]

//array中放不同的数据
会默认把数组里面的类型转成object
即:Array[object]

var fArray: Array = ["1",2,"3","4","5"]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift