我想创建一个函数,因此当按下按钮时,变量的内容会发生变化。该函数被调用,但我不能在其中使用任何外部变量。
这是我遇到问题的代码:
class Responder: NSObject {
func pressed(sender: UIButton) {
// Can't change the value of "a" here
}
}
var a: Int = 0
let responder = Responder()
let bt = UIButton(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0))
bt.addTarget(responder, action: #selector(Responder.pressed), for: .touchUpInside)
我可以做些什么来完成这项工作?
答案 0 :(得分:0)
工作。您可以更改a
中pressed
的值。我在pressed
方法中添加了代码,如下所示:
import UIKit
import PlaygroundSupport
class Responder: NSObject {
func pressed(sender: UIButton) {
a = a+1
print(a)
}
}
var a: Int = 0
let responder = Responder()
let bt = UIButton(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0))
bt.addTarget(responder, action: #selector(Responder.pressed), for: .touchUpInside)
PlaygroundPage.current.liveView = bt
按钮出现,每次点击它时,都会打印出一个更高的数字,从1开始(因为a
开始为0
。这证明您的代码可以更改a
。