我想知道是否有办法获得一些有用的班级构成信息。例如,我发现能够访问类的所有可用函数非常有用。看来MyrrorType
但这不是我要找的:/
我知道我可以使用获取函数名称__FUNCTION__
但这并不正是我所需要的。
我需要的是可用于班级的所有功能的完整列表。
有什么有用的提示吗?
与 Objective-C 中可用的黑客技术相比,Swift 中的反射非常有限。话虽如此,Objective-C 运行时函数在 Swift 中仍然可用。你可以通过让你的类继承自NSObject
:
class MyClass: NSObject {
func f1() {}
func f2() {}
func f3() {}
}
let myClass = MyClass.self
var methodCount: UInt32 = 0
let methodList = class_copyMethodList(myClass, &methodCount)
for i in 0..<Int(methodCount) {
let selName = sel_getName(method_getName(methodList[i]))
let methodName = String(CString: selName, encoding: NSUTF8StringEncoding)!
print(methodName)
}
这将为您提供 4 种方法:f1 ... f3
and init
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)