kod*_*r16 5 memory pointers ios swift
AnyObject您可以通过函数调用获取函数的地址unsafeAdressOf(object:AnyObject) -> UnsafePointer<void>,但是如何获取函数的地址呢?例如
func foo(){print("hi")}
print(unsafeAdressOf(foo))
Run Code Online (Sandbox Code Playgroud)
不起作用
class Foo {
func poo(value: Int) {
print(value)
}
}
typealias classFunctionType = @convention(thin) (Foo)->(Int)->()
func getSwiftFunctionAddr(_ function: @escaping classFunctionType) -> UnsafeMutableRawPointer {
return unsafeBitCast(function, to: UnsafeMutableRawPointer.self)
}
let func_addr = getSwiftFunctionAddr(Foo.poo)
print(func_addr)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |