ios 开发

Swift使用(一)数据类型,常量、变量、元组

2020-12-21  本文已影响0人  iOS小洁

Swift数据类型,常量、变量、元组

数据类型

Swift分为值类型和引用类型:

1、值类型分为枚举enum 和 结构体 struct

2、引用类型 :class

Swift 与OC对比

1、其中字符串,数组,字典,集合在OC中为引用类型,在Swift中为值类型

2、Swift是强类型语言,所有的变量必须先声明,后使用;指定类型的变量只能接收类型与之匹配的值

3、Swift中Bool只有true和false。而OC中非0即为真

4、新增可选类型Optional

常量 与 变量

常量一旦设定,在程序运行时就无法修改,常量可以是任何的数据类型,用let修饰

变量指定类型,类型决定占用内存大小,变量的值可以修改,用var修饰

var age1 = 12
let age2 = 26
age1 = age1 + 1
age2 = age2 + 1 //这里对常量进行修改,会报错

常量或者变量在初始化的时候可加上类型标注

var constantName:<data type> = <optional initial value>

可选类型

Swift 的可选(Optional)类型,表示值可以为空。最初使用Swift的时候被这个可选类型很难受,后端接口返回的字符串数据解析后是可选类型字符串,显示在页面上成Optional("xxxx")的样子,值为空的时候使用强制解包'!'又会发生运行时错误

var age: Int?
var age: Optional<Int>

可选类型在使用的时候需要进行解包,解包方式有以下几种:

1、强制解包

if age != nil {
    print(age!)//只有确定值非空的时候才能使用强制解包
}

2、可选值绑定 与 自动解包

可以使用可选项绑定来判断可选项是否包含值

如果包含就自动解包,把值赋给一个临时的常量(let)或者变量(var),并返回true,否则返回false

var str:String!
str = "Hello, Swift!"
if let str1 = str {
   print(str1)
}else{
   print("myString 值为 nil")
}

3、空合并运算符 '??' ,这个用起来比较方便
a ?? b

下面代码可以做到str为空时不显示,str非空的时候显示解包后的值

leb.text = optionStr ?? ""

上一篇 下一篇

猜你喜欢

热点阅读