美文网首页
Swift 5 动态获取一个类的属性,方法,和变量

Swift 5 动态获取一个类的属性,方法,和变量

作者: 龙之天下 | 来源:发表于2021-07-19 09:03 被阅读0次

1、获取一个类的所有属性

func getAllPropertys(view: Any?) -> [String] {
    var result = [String]()
    let count = UnsafeMutablePointer<UInt32>.allocate(capacity: 0)
    let buff = class_copyPropertyList(object_getClass(view), count)
    let countInt = Int(count[0])
    for i in 0..<countInt {
        if let temp = buff?[i] {
            let cname = property_getName(temp)
            let proper = String(cString: cname)
            result.append(proper)
        }
    }
    return result
}

2、获取一个类的成员变量

func getAllIvarList(view: Any?) -> [String] {
    var result = [String]()
    let count = UnsafeMutablePointer<UInt32>.allocate(capacity: 0)
    let buff = class_copyIvarList(object_getClass(view), count)
    let countInt = Int(count[0])
    for i in 0..<countInt {
        if let temp = buff?[i],let cname = ivar_getName(temp) {
            let proper = String(cString: cname)
            result.append(proper)
        }
    }
    return result
}

相关文章

  • iOS中Runtime常用示例

    Runtime的内容大概有:动态获取类名、动态获取类的成员变量、动态获取类的属性列表、动态获取类的方法列表、动态获...

  • iOS-Runtime

    Runtime的内容大概有:动态获取类名、动态获取类的成员变量、动态获取类的属性列表、动态获取类的方法列表、动态获...

  • runtime基础

    目前我所了解的Runtime内容大约有:动态获取类名、动态获取类的成员变量、动态获取类的属性列表、动态获取类的方法...

  • Swift 5 动态获取一个类的属性,方法,和变量

    1、获取一个类的所有属性 2、获取一个类的成员变量

  • Swift 5 动态获取一个类的属性,方法,和变量

    1、获取一个类的所有属性 2、获取一个类的成员变量

  • 反射

    反射的作用① 动态的加载类、动态的获取类的信息(属性,方法,构造方法) ② 动态构造对象 ③ 动态调用类和对象的任...

  • ios中runtime 笔记

    常见方法 1.获取属性列表 2.获取方法列表 3,获取成员变量列表 4,获取协议列表 5,获得类方法

  • runtime的使用二

    动态添加方法 替换方法 方法交换 获取成员变量,属性,以及方法

  • Runtime使用总结

    本文主要内容有:获取属性/方法/协议/成员变量列表、动态关联属性、动态添加方法、方法交换。 一、获取列表 使用Ru...

  • 【iOS篇】Runtime的应用

    我们可以运用runtime机制做一些事情,动态的获取类的一些属性和方法,动态添加方法和方法交换。 1、获取类名 动...

网友评论

      本文标题:Swift 5 动态获取一个类的属性,方法,和变量

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