美文网首页工作生活
swift 内存 MemoryLayout

swift 内存 MemoryLayout

作者: sttech | 来源:发表于2019-07-02 09:59 被阅读0次

普通变量内存

var age = 10
MemoryLayout<Int>.size // 10
MemoryLayout<Int>.stride // 8
MemoryLayout<Int>.alignment // 8
MemoryLayout.size(ofValue: age) // 8 


枚举内存

enum Passwd { //     这种是关联值 关联值会被存入枚举变量的内存中
    case number(Int,Int,Int,Int)
    case other
}
var pwd = Passwd.number(1, 1, 1, 1)
MemoryLayout.size(ofValue: pwd) // 33
MemoryLayout<Passwd>.size // 实际可能用到的空间大小  33
MemoryLayout<Passwd>.stride // 分配占用的空间大小  40
MemoryLayout<Passwd>.alignment // 对齐参数 8
enum Session { // 这种是原始值(固定值) 不会存入枚举变量的内存中 原始值永远跟值绑定在一起,而且不允许在外部赋值
    case spring,summer,autumn,winter
}
MemoryLayout<Session>.size // 实际可能用到的空间大小  1
MemoryLayout<Session>.stride // 分配占用的空间大小  1
MemoryLayout<Session>.alignment // 对齐参数 1

相关文章

网友评论

    本文标题:swift 内存 MemoryLayout

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