我遇到了很多与此相似的问题,但是许多问题是旧版本的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)
}