Rya*_*ans 4 reflection function ios swift
我希望迅速获得函数的名称。
我基本上想要这样的东西
__FUNCTION__
但是来自不同的功能,例如
func do () {
   code etc
}
func doStuff () {
   var funcName = do().name
}
以上将是完美的。
有任何想法吗?
在 Swift 3 中,正确的关键字是#function。您可以传递一个指向用于存储函数名称的String对象的指针。例如:
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)
小智 1
不是最干净的,但它有效。
func dost () -> (name: String,String) {
    return (__FUNCTION__,"")
}
func doStuff () {
    var funcName = dost().name
}
您可以只返回函数名称而不返回元组。
| 归档时间: | 
 | 
| 查看次数: | 5279 次 | 
| 最近记录: |