关于ios:Swift函数范围-引用self(以” self作为包络函数”表示)

Swift function scope - referencing self (to mean “self as the enveloping function”)

执行此基本功能:

1
2
3
4
func sampleFunction ()
{
    print( self )
}

此处self指的是对其进行封装的类实例,而不是(可能更有意义的是)对其进行封装的函数。

如何获得对封装函数而不是其封装类实例的引用?

理想情况下,我正在尝试执行以下操作:

1
2
3
4
func sampleFunction ( value: Int )
{
    print( selfAsEnvelopingSampleFunction, value )
}


如果要打印功能名称,可以使用__FUNCTION__

1
print(__FUNCTION__)

在打印语句中,否则只需使用sampleFunction作为参数。


实例方法可以快速处理。这样您就可以将该功能作为参考。

1
2
3
4
5
6
struct User {
    func sampleFunc(name: String) {
        let f = User.sampleFunc(self)
        print(f, name)
    }
}

f值是函数本身