使用类型变量作为函数参数时会发生什么?它是否创造了任何物体? 我不清楚这一点
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")
}
答案 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`