在Swift中,是否可以从传递的闭包中提取#function?

时间:2016-03-30 13:30:11

标签: swift function closures

考虑这个功能:

func doSomething ( closure: ( String, Any? ) -> Void )
{
    let serialisedFunction = #function
    print( serialisedFunction )
}

它将逐字打印doSomething(closure:)

大!但是如何从传递的闭包中获得并行#function属性?

类似于:

func doSomething ( closure: ( String, Any? ) -> Void )
{
    let serialisedClosure = closure.#function
    print( serialisedClosure )
}

上下文:我有一个信号/事件总线,当信号/事件发生时,它会通过闭包来调用。我想为这些信号/事件创建唯一的密钥,以确保它们只被一次收听,因此我试图根据序列化对象创建密钥,包括监听闭包。

谢谢。

0 个答案:

没有答案