[英]Get the address of a function [Swift 3.0]
You can get an address of AnyObject
with unsafeAdressOf(object:AnyObject) -> UnsafePointer<void>
function call but how can I get an address of a function?你可以得到的地址
AnyObject
与unsafeAdressOf(object:AnyObject) -> UnsafePointer<void>
函数调用,但我怎样才能得到一个函数的地址? for example例如
func foo(){print("hi")}
print(unsafeAdressOf(foo))
does not work不起作用
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.