下の太字部分にValue of type 'ViewController' has no member 'timerIterrupt'というエラーが表示されます。どうしたらいい!でしょうか?
import UIKit class ViewController: UIViewController { // タイマーの変数を作成 var timer : Timer? // カウント(経過時間)の変数を作成 var count = 0 // 規定値を扱うキーを設定 let settingkey = "timer_value" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // UserDefsultsのインスタンスを作成 let settigs = UserDefaults.standard // UserDefaultsに初期値を登録 settigs.register (defaults: [settingkey:10]) } @IBOutlet weak var countDownLabel: UILabel! @IBAction func SettigButtonAction(_ sender: Any) { } @IBAction func startButtonAction(_ sender: Any) { // timerをアンラップしてnowtimerに代入 if let nowTimer = timer { // もしタイマーが実行中なら実行しない if nowTimer.isValid == true { // 何もしない return } } // タイマーをスタート timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(self.timerIterrupt(_:)), userInfo: nil, repeats: true) } @IBAction func stopButtonAction(_ sender: Any) { // timerをアンラップしてnowTimerに代入 if let nowTimer = timer { // もしタイマーが実行中なら停止 if nowTimer.isValid == true { // タイマー停止 nowTimer.invalidate() } } } // 画面の更新をする(戻り値:remainCount:残り時間) func displayUpdate() -> Int { // UserDefaultsのインスタンスを作成 let settigs = UserDefaults.standard // 取得した秒数をtimeValueに渡す let timeValue = settigs.integer(forKey: settingkey) // 残り時間を作成 let remainCount = timeValue - count // 残り時間をラベルに表示 countDownLabel.text = "残り(remainCount)" // 起こり値を戻り値に設定 return remainCount } // 経過時間の処理 @objc func timerIterrupt(_timer:Timer){ // countに+1秒追加する count += 1 // n残り時間が0以下の時にタイマーを止める if displayUpdate() <= 0 { // 初期化 count = 0 // タイマー停止 timer?.invalidate() } } } ```
回答1件
あなたの回答
tips
プレビュー