swift class内存

67 阅读1分钟
class Animal {
    var age = 0
}

class Dog: Animal {
    var weight = 0
}

class erha: Dog {
    var iq = 0
}
let a = Animal()
a.age = 10

类对象 a 是存储在堆空间的,所以内存是 16 的倍数,对象存储 age 需要8个字节,对象内存空间最前面的 8个字节 用来存储类的类型信息,再往后8个字节用来存储引用计数相关的信息,再往后才是存储age的8个字节,就已经有24个字节了,由于要是16的倍数,所以是32个字节。