美文网首页ios 开发
Swift使用(一)数据类型,常量、变量、元组

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

作者: iOS小洁 | 来源:发表于2020-12-21 22:43 被阅读0次

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

    数据类型

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

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

    • 枚举:Optional
    • 结构体:Bool、Int、Float、Double、Character、String、Array、Dictionary、Set

    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

    • a是可选项
    • b可以是可选项,也可以是非可选项
    • a和b的存储类型必须相同
    • 如果a不为nil,返回a
    • 如果a为nil,返回b
    • 如果b不为可选项,返回a时会自动解包

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

    leb.text = optionStr ?? ""

    相关文章

      网友评论

        本文标题:Swift使用(一)数据类型,常量、变量、元组

        本文链接:https://www.haomeiwen.com/subject/ibzdnktx.html