ViewController.Type沒有名為的成員這只是一項簡單的任務,但我遇到了麻煩。試圖以不同的方式,但它失敗了。如何使用聲明的先前變量初始化NSTimer?var和nor都沒有幫助。
2 回答
一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
屬性的初始值(在您的情況下timer:)不能依賴于類的另一個屬性(在您的情況下:) interval。
因此,您必須將該分配移動timer = NSTimer(interval, ...)到該類的方法中,例如viewDidLoad。因此,timer必須將其定義為 可選或隱式展開的可選項。
另請注意,Selector(...)將文字字符串作為參數,而不是方法本身。
所以這應該工作:
class ViewController: UIViewController {
var interval : NSTimeInterval = 1.0
var timer : NSTimer!
func timerRedraw() {
}
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer(timeInterval: interval, target: self, selector: Selector("timerRedraw"), userInfo: nil, repeats: true)
// ... }
// Other methods ...}
汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
嘗試:
var interval:NSTimeInterval = 1.0var timer = NSTimer.scheduledTimerWithTimeInterval(interval, target: self, selector: "timerRedraw:", userInfo: nil, repeats: true)
pro-tip并希望得到贊賞的FYI:Swift函數也應該以小寫字母(即“ timerRedraw”)開頭。
添加回答
舉報
0/150
提交
取消
