如何使用SWIFT添加计时器



我遇到了很多与此相似的问题,但是许多问题是旧版本的Xcode,或者根本不起作用。我正在使用Xcode版本8.3.2(8E2002(和Swift编码语言。我对编码不太了解,但是还年轻而渴望学习!我正在创建一个点击器游戏,该游戏每秒都会为您提供游戏本身的钱。因此,如果您闲置2分钟,它将给您$ 120($ 1秒 @120秒(。除此之外,您还可以通过单击主要对象来赚钱。到目前为止,这是我的编码:

import UIKit
class ViewController: UIViewController {
var score = 0
var add = 1
func addpersec() {
    score += 1
}
//func used to add to the score based timer. Aka, adding 1 per second

@IBOutlet weak var scorecount: UILabel!

@IBAction func clicks(_ sender: Any) {
    score += 1
    scorecount.text = "Honey: (score)"
}
@IBOutlet weak var Bees: UITableView!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}
class ViewController: UIViewController {
    var timer: Timer? = nil // Property
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(handleTimer), userInfo: nil, repeats: true)
    }
    func handleTimer(_ timer: Timer) {
        print("Timer ticking!")
    }
}

要使计时器无效,请致电self.timer?.invalidate()

您的问题似乎与iOS UI有关,所以我不知道我的答案是否有意义。

对于通用延迟函数执行(例如JavaScript的setTimeout(,您可以使用DispatchQueue

// have this as a global somewhere
let bg = DispatchQueue(label: "bg", qos: .background, target: nil)
// anywhere else in your code:
// First decide the time to execute your function
let delayInSeconds = 3
let when = DispatchTime.now() + delayInSeconds
// call it
bg.asyncAfter(deadline: when) {
    // code to execute later (this is the body of an anonymous function)
}

最新更新