在类函数中使用变量的问题(Swift Playgrounds)

时间:2017-04-01 23:30:54

标签: swift uibutton swift-playground

我想创建一个函数,因此当按下按钮时,变量的内容会发生变化。该函数被调用,但我不能在其中使用任何外部变量。

这是我遇到问题的代码:

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)

我可以做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:0)

工作。您可以更改apressed的值。我在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