定时器功能使应用程序崩溃

Timer function crashes app

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var imageView: UIImageView!
var timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(ViewController.runTimedCode), userInfo: nil, repeats: true)

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.
}

@objc func runTimedCode() {

  imageView.image = UIImage(named: "card10")
}

}

这段代码给我的消息是 "unrecognized selector sent to instance",但我不知道问题出在哪里。有人可以帮帮我吗? :)

你必须像下面这样调用函数。

 var timer:Timer?

    override func viewDidLoad(){
    super.viewDidLoad()

    timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.runTimedCode), userInfo: nil, repeats: true)
    }

     @objc func runTimedCode(){

print("timer is calling")
  }       

试试这个:

class ViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!
    var timer: Timer? = nil

    override func viewDidLoad() {
        super.viewDidLoad()

        timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(ViewController.runTimedCode), userInfo: nil, repeats: true)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @objc func runTimedCode() {

        imageView.image = UIImage(named: "card10")
    }
}