我期待在swift中获得函数的名称。在Swift中获取函数名称
我基本上要像
__FUNCTION__
但是从不同的功能例如
func do() {
code etc
}
func doStuff() {
var funcName = do().name
}
以上将是完美的。
任何想法?
我期待在swift中获得函数的名称。在Swift中获取函数名称
我基本上要像
__FUNCTION__
但是从不同的功能例如
func do() {
code etc
}
func doStuff() {
var funcName = do().name
}
以上将是完美的。
任何想法?
不是最干净的,但它的工作原理。
func dost() -> (name: String,String) {
return (__FUNCTION__,"")
}
func doStuff() {
var funcName = dost().name
}
你可能只是返回没有元组的函数名。
我到类似的东西 'FUNC dostuff(的getName:布尔) - >字符串{如果(的getName)返回__FUNCTION__ }' 但我想知道是否有更好的东西也许 – RyanCosans
是的,这工作也是如此。 – InSearchOf
注意:在Swift 3中它已被#function替换。 –
在Swift 3中,正确的关键字是#function。您可以将指针传递给用于存储函数名称的字符串对象。例如:
func myFunction(param1:Any, param2:Any, functionName: UnsafeMutablePointer<String>?) -> Any {
if functionName != nil {
functionName.pointee = #function
}
...
}
用法:
var name:String
// You can always pass nil if you are not interested in retrieving the
// function name
let result = myFunction(1, 2, functionName: &name)
print(name)
能否请你解释如何使用呢?你为什么需要这个? – Sulthan