Swift函数范围 - 引用self(表示" self作为包络函数")

时间:2015-12-04 14:27:04

标签: ios iphone swift

采取这个基本功能:

func sampleFunction ()
{
    print( self )
}

此处self指的是包含它的类实例,而不是 - 可能更有意义 - 包含它的函数

如何获得对包络函数的引用而不是其包络的类实例

理想情况下,我希望做到这样的事情:

func sampleFunction ( value: Int )
{
    print( selfAsEnvelopingSampleFunction, value )
}

2 个答案:

答案 0 :(得分:4)

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

print(__FUNCTION__)

在你的print语句中,否则只需使用sampleFunction作为参数。

答案 1 :(得分:1)

实例方法快速进行。所以你可以把这个功能作为参考。

struct User {
    func sampleFunc(name: String) {
        let f = User.sampleFunc(self)
        print(f, name)
    }
}

这里f值是函数本身