Я нахожусь здесь на своем пути, пытаясь понять, как заставить этот NSTimer работать. Вставка моего всего кода для ясности. Важная часть выделена жирным шрифтом.2.2 Запланированный таймер возвращается «Контроллер просмотра не имеет члена ...»
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.
}
}
Я хочу, что в "runTimedCode()" для запуска каждые 10 секунд. Сейчас я получаю сообщение об ошибке на:..
timer = NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: #selector(ViewController.runTimedCode), userInfo: nil, repeats: true)
говорит об ошибке «Тип„ViewController“не имеет член„runTimedCode“
Когда я беру ViewController, я получаю другую ошибку: Использование локальная переменная 'runTimedCode' до ее объявления.
И, наконец, когда я перехожу к этой строке в нижней части кода, я получаю «Аргумент« #selector »относится к методу, который не подвергается Objective-C.
Я чувствую, что честно пробовал все, чтобы заставить этот таймер работать. Я посмотрел на каждый поток, который только можно вообразить. Есть ли у меня какое-то фундаментальное непонимание того, как работает таймер?
Все были правы .. это было связано с размещением функции в рамках другой функции. Я действительно новичок в этом, поэтому я приношу свои извинения за такую любительскую ошибку. Спасибо за помощь! –