TypeMetadata

  • Swift中的Metadata
    • TargetMetadata
      • ValueMetadata ==TargetValueMetadata
        • 特点
          • 有VWT
            • [-0x8]是VWT=ValueWitnessTable
          • 适用于:Value值 == 非Class == Struct、Enum、Optional等类型
          • kind值的范围:0 < kind < 0x7FF
            • kind == 0x200 是 Struct
            • kind == 0x201 是 Enum
            • kind == 0x202 是 Optional
            • kind == 0x301 是 Tuple
      • ClassMetadata ==TargetClassMetadata
        • 特点
          • 没有VWT
          • 适用于:Class类
          • kind值的范围:
            • kind == 0 => (没有继承自ObjC的)纯Swift类
            • kind > 0x7FF => 继承自ObjC的Swift类 == 此时的值就是ObjC中的isa

results matching ""

    No results matching ""