如何在Swift中获取所有静态属性?

cici
class AllDevice: Reflectable{

    static let LIGHT_ONOFF_NH_3A_R11_01_L12 = "LIGHT_ONOFF_NH_3A_R11_01_L12"

    static let PLUG_ONOFF_NH_3A_R11_01_B2AC = "PLUG_ONOFF_NH_3A_R11_01_B2AC"
    static let PLUG_POWER_NH_3A_R11_01_B2AC="PLUG_POWER_NH_3A_R11_01_B2AC"
    static let PLUG_ENERGY_NH_3A_R11_01_B2AC="PLUG_ENERGY_NH_3A_R11_01_B2AC"

    static let PLUG_ONOFF_NH_3A_R11_02_B2B8="PLUG_ONOFF_NH_3A_R11_02_B2B8"
    static let PLUG_POWER_NH_3A_R11_02_B2B8="PLUG_POWER_NH_3A_R11_02_B2B8"
    static let PLUG_ENERGY_NH_3A_R11_02_B2B8="PLUG_ENERGY_NH_3A_R11_02_B2B8"

    static let  PLUG_ONOFF_NH_3A_R11_03_B2D2="PLUG_ONOFF_NH_3A_R11_03_B2D2"
    static let PLUG_POWER_NH_3A_R11_03_B2D2="PLUG_POWER_NH_3A_R11_03_B2D2"
    static let PLUG_ENERGY_NH_3A_R11_03_B2D2="PLUG_ENERGY_NH_3A_R11_03_B2D2"

}

如何在Swift中获取所有静态属性?

我在下面的文章中尝试过,但是不起作用如何快速列出一个类的所有变量

代码不同

一种方法是实现CustomReflectable

class AllDevice: CustomReflectable {

    static let LIGHT_ONOFF_NH_3A_R11_01_L12 = "LIGHT_ONOFF_NH_3A_R11_01_L12"

    static let PLUG_ONOFF_NH_3A_R11_01_B2AC = "PLUG_ONOFF_NH_3A_R11_01_B2AC"
    static let PLUG_POWER_NH_3A_R11_01_B2AC="PLUG_POWER_NH_3A_R11_01_B2AC"
    static let PLUG_ENERGY_NH_3A_R11_01_B2AC="PLUG_ENERGY_NH_3A_R11_01_B2AC"

    static let PLUG_ONOFF_NH_3A_R11_02_B2B8="PLUG_ONOFF_NH_3A_R11_02_B2B8"
    static let PLUG_POWER_NH_3A_R11_02_B2B8="PLUG_POWER_NH_3A_R11_02_B2B8"
    static let PLUG_ENERGY_NH_3A_R11_02_B2B8="PLUG_ENERGY_NH_3A_R11_02_B2B8"

    static let PLUG_ONOFF_NH_3A_R11_03_B2D2="PLUG_ONOFF_NH_3A_R11_03_B2D2"
    static let PLUG_POWER_NH_3A_R11_03_B2D2="PLUG_POWER_NH_3A_R11_03_B2D2"
    static let PLUG_ENERGY_NH_3A_R11_03_B2D2="PLUG_ENERGY_NH_3A_R11_03_B2D2"

    func customMirror() -> Mirror {
        return Mirror(self, children: [
            "LIGHT_ONOFF_NH_3A_R11_01_L12": self.dynamicType.LIGHT_ONOFF_NH_3A_R11_01_L12,
            "PLUG_ONOFF_NH_3A_R11_01_B2AC": self.dynamicType.PLUG_ONOFF_NH_3A_R11_01_B2AC,
            "PLUG_POWER_NH_3A_R11_01_B2AC": self.dynamicType.PLUG_POWER_NH_3A_R11_01_B2AC
            // etc...
        ])
    }
}

let device = AllDevice()
let m = Mirror(reflecting: device)
// you can access m.children now

如您所见,它并不有趣,并且涉及很多字符串文字。如果更改分配给每种设备类型的值,则必须相应地更新镜像。


它是将您的设备类型常量实现为enum

enum Device: String {
    case LIGHT_ONOFF_NH_3A_R11_01_L12 = "LIGHT_ONOFF_NH_3A_R11_01_L12"
    case PLUG_ONOFF_NH_3A_R11_01_B2AC = "PLUG_ONOFF_NH_3A_R11_01_B2AC"
    case PLUG_POWER_NH_3A_R11_01_B2AC = "PLUG_POWER_NH_3A_R11_01_B2AC"
    // etc..

    static let allDevices: [Device] = [
        .LIGHT_ONOFF_NH_3A_R11_01_L12,
        .PLUG_ONOFF_NH_3A_R11_01_B2AC,
        .PLUG_POWER_NH_3A_R11_01_B2AC
        // etc...
    ]
}

这样,编译器可以为您提供一些错误检查。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在After Effects脚本中获取图层的所有动画属性?

来自分类Dev

iOS如何在Swift中获取对象的属性类型?

来自分类Dev

核心数据:如何在Swift中删除具有属性的所有对象?

来自分类Dev

如何在OOP中避免没有静态属性继承?

来自分类Dev

如何在iOS Swift中获取数组中所有字符串的首字母?

来自分类Dev

如何在Swift中获取所有静态属性?

来自分类Dev

如何在Swift中从PDF获取所有文本?

来自分类Dev

如何在Swift中将所有键和值从NSDictionary获取到单独的String数组中?

来自分类Dev

如何在TVirtualInterface TVirtualInterfaceInvokeEvent中获取(Method:TRttiMethod)的所有权属性?

来自分类Dev

如何在javascript中获取文件对象的所有属性?

来自分类Dev

如何在同一个基类的方法中获取所有属性?

来自分类Dev

获取sencha类的所有静态属性

来自分类Dev

如何获取div中存在的所有表单属性?

来自分类Dev

如何仅在类中获取所有属性名称

来自分类Dev

iOS如何在Swift中获取对象的属性类型?

来自分类Dev

如何在C#Winforms中获取图像的所有文件属性

来自分类Dev

如何在python中以列表的形式获取类的所有属性

来自分类Dev

使用反射将类中的所有静态属性作为对象获取VB.NET

来自分类Dev

如何获取所有类的tcmalloc静态

来自分类Dev

如何在ActionFilter中获取参数的所有属性?

来自分类Dev

如何在Swift 3中获取类属性标签?

来自分类Dev

如何在 ES6 javascript 类中的泛型方法中获取所有 getter setter 属性的列表或数组?

来自分类Dev

如何在 JavaScript 中获取具有特定属性的所有子元素

来自分类Dev

Swift 获取泛型类中的所有属性

来自分类Dev

如何提取/获取本体中的所有术语(类/属性)

来自分类Dev

如何从多个类中获取所有相同的属性?

来自分类Dev

从类中获取所有静态属性

来自分类Dev

如何在swift 5中从数组字典中获取所有“标题”值

来自分类Dev

如何获取msi文件中的所有属性

Related 相关文章

  1. 1

    如何在After Effects脚本中获取图层的所有动画属性?

  2. 2

    iOS如何在Swift中获取对象的属性类型?

  3. 3

    核心数据:如何在Swift中删除具有属性的所有对象?

  4. 4

    如何在OOP中避免没有静态属性继承?

  5. 5

    如何在iOS Swift中获取数组中所有字符串的首字母?

  6. 6

    如何在Swift中获取所有静态属性?

  7. 7

    如何在Swift中从PDF获取所有文本?

  8. 8

    如何在Swift中将所有键和值从NSDictionary获取到单独的String数组中?

  9. 9

    如何在TVirtualInterface TVirtualInterfaceInvokeEvent中获取(Method:TRttiMethod)的所有权属性?

  10. 10

    如何在javascript中获取文件对象的所有属性?

  11. 11

    如何在同一个基类的方法中获取所有属性?

  12. 12

    获取sencha类的所有静态属性

  13. 13

    如何获取div中存在的所有表单属性?

  14. 14

    如何仅在类中获取所有属性名称

  15. 15

    iOS如何在Swift中获取对象的属性类型?

  16. 16

    如何在C#Winforms中获取图像的所有文件属性

  17. 17

    如何在python中以列表的形式获取类的所有属性

  18. 18

    使用反射将类中的所有静态属性作为对象获取VB.NET

  19. 19

    如何获取所有类的tcmalloc静态

  20. 20

    如何在ActionFilter中获取参数的所有属性?

  21. 21

    如何在Swift 3中获取类属性标签?

  22. 22

    如何在 ES6 javascript 类中的泛型方法中获取所有 getter setter 属性的列表或数组?

  23. 23

    如何在 JavaScript 中获取具有特定属性的所有子元素

  24. 24

    Swift 获取泛型类中的所有属性

  25. 25

    如何提取/获取本体中的所有术语(类/属性)

  26. 26

    如何从多个类中获取所有相同的属性?

  27. 27

    从类中获取所有静态属性

  28. 28

    如何在swift 5中从数组字典中获取所有“标题”值

  29. 29

    如何获取msi文件中的所有属性

热门标签

归档