我正在尝试将班级Sentence
的班级方法用作selector
的{{1}}。这是我的方法,顺便提一下也是NSTimer
调用的方法:
NSTimer
我需要在func playEvent(eventIndex : Int){
if (eventIndex < 2){
let currEvent = self.eventArray[eventIndex]
currEvent?.startEvent()
let nextIndex = eventIndex + 1
NSTimer.scheduledTimerWithTimeInterval((currEvent?.duration)!, target: self, selector: "playEvent:sentence:", userInfo: NSNumber(integer: nextIndex), repeats: true)
}
else if (eventIndex==2){
self.eventArray[eventIndex]?.startEvent()
NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: "sentenceDidFinish", userInfo: nil, repeats: true)
}
else{
//do nothing
}
}
中写self.playEvent
还是不可能?
这是整个班级的背景: https://gist.github.com/ebbnormal/e56b0b6ebedbe4474d01
答案 0 :(得分:1)
您的问题/代码难以理解,请添加课程定义并重新提问。
<强>更新强>
class SomeClass: NSObject {
class func someClassMethod() {
print("called class method")
}
func someInstanceMethod() {
print("called instance method")
}
func setupInstanceMethodTimer() {
NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("someInstanceMethod"), userInfo: nil, repeats: true)
}
}
// setup timer for class method
NSTimer.scheduledTimerWithTimeInterval(0.4, target: SomeClass.self, selector: Selector("someClassMethod"), userInfo: nil, repeats: true)
// setup timer for instance method
let someInstance = SomeClass()
someInstance.setupInstanceMethodTimer()