Swift 3.0 运行时获取类属性

  • 在OC中,没有绝对的私有,用运行时可以取出。

  • 在Swift中,有绝对的私有,用private修饰的,是无法取出的。

  • 下面是swift运行时获取对象属性列表的示例:

    import UIKit

  class Student: NSObject {
    var name: String?
    var age: Int = 0
    var no: String?
    
    class func propertyList() {
        var count: UInt32 = 0
        let prolist = class_copyPropertyList(self, &count)
        for i in 0..
  • 在控制器中调用如下:
      print(Student.propertyList())
  • 输出结果如下:
    name
    age
    no
    ()

你可能感兴趣的:(Swift 3.0 运行时获取类属性)