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
提交
取消