このNSTimerを動作させる方法を理解しようとしています。私のコード全体を明瞭にするために貼り付ける。重要な部分は太字です。2.2スケジュールされたタイマーが返す「View Controllerにはメンバーがありません...」
import UIKit
import QuartzCore
import Foundation
class ViewController: UIViewController {
@IBOutlet weak var outerCircle: UIImageView!
@IBOutlet weak var innerCircle: UIImageView!
@IBOutlet weak var instructionLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var timer: NSTimer!
timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: #selector(ViewController.runTimedCode), userInfo: nil, repeats: true)
func runTimedCode() {
UIView.animateWithDuration(5, delay:0, options:[], animations: {
//Inhale
self.innerCircle.transform = CGAffineTransformMakeScale(3.5, 3.5)
self.instructionLabel.text = "Inhale"
}, completion: { finish in
//Exhale
UIView.animateWithDuration(5, delay:0, options:[], animations: {
self.innerCircle.transform = CGAffineTransformMakeScale(1, 1)
self.instructionLabel.text = "Exhale"
}, completion: nil)
})
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
私は10秒ごとに実行する "runTimedCode()" であるものをしたいです。私は現在、上のエラーを取得しています:。。「タイプ 『のViewControllerが』いいえメンバー 『runTimedCode』を持っていないエラーが言う
timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: #selector(ViewController.runTimedCode), userInfo: nil, repeats: true)
を私はViewControllerをを取るときに出て、私は別のエラーを取得する:の使用をローカル変数 'runTimedCode'の宣言の前に
最後に、その行をコードの最後に移動すると、「#selectorの引数」はObjective-Cに公開されていないメソッドを参照します。
このタイマーを稼働させるために正直にすべてを試したような気がします。私は想像できるすべてのスレッドを見てきました。タイマーの機能に関する基本的な誤解がありますか?
誰もが正しくありました。これは、別の関数内に関数を配置したためです。私は本当にこれに新しいので、私はそのような素人間違いのために謝罪します。ご協力ありがとうございました! –