swift 杂文

88 阅读1分钟

1、递归枚举

  indirect enum di {
        case num(Int)
        case count(di)
    }

2、类占用内存大小

 print(MemoryLayout<Int>.size) 实际用到的空间
 print(MemoryLayout<Int>.stride) 分配占用的空间
 print(MemoryLayout<Int>.alignment) 内存对齐大小
  enum eType {
        case one(Int,Int,Int)
        case two(Int,Int)
        case three
        case four
        case five
    }
eType占用25
24Int 1个是存储类型

3、强解解包 !

4、可选项版定

可以使用可选项绑定来判断可选项是否包含值
口如果包含就自动解包,把值赋给一个临时的常量(let)或者变量(var),并返回true,否则返回false

5、?? 空合并运算符

a??b (返回类型是否是可选类型受b影响)

6 隐式解包

在某些情况下,可选项一旦被设定值之后,就会一直拥有值
在这种情况下,可以去掉检查,也不必每次访问的时候都进行解包,因为它能确定每次访问的时候都有值
可以在类型后面加个感叹号!定义一个隐式解包的可选项

let num:Int! = 10 //!隐式解包可选项

7、多重可选项

var num1 :Int ?? = 10

查看结构

fr v - R num1