在swift中使用类类型变量作为函数参数

时间:2015-10-29 17:14:24

标签: swift function object

使用类型变量作为函数参数时会发生什么?它是否创造了任何物体? 我不清楚这一点

func action(gestureRecognizer: UIGestureRecognizer) {
   var touchPoint = gestureRecognizer.locationInView(self.map)
}

gestureRecognizer是一个对象吗?我知道对象是通过以下方式声明的

let gestureRecognizer = UIGestureRecognizer()

请提出建议,以清除我的概念。感谢

更新

  override func viewDidLoad() {
    super.viewDidLoad()

   let uilpgr = UILongPressGestureRecognizer(target: self, action: "action:")

    uilpgr.minimumPressDuration = 2

    map.addGestureRecognizer(uilpgr)


}

 func action(gestureRecognizer: UIGestureRecognizer) {

    print("Gesture Recognized")

}

1 个答案:

答案 0 :(得分:0)

通过引用传递给函数的类类型,它必须创建你的类对象,然后像param一样传递给函数和内部函数,你将使用指向你创建的对象的指针。

例如:

class Foo {
    var a: Int = 0
}

func test(f: Foo) {
    f.a = 10
}

var _f = Foo() // here creates class object and `a` value is `0`

test(_f)  // After this call we pass the reference to our object to function

print(_f.a) // here `a` value is `10`