不要将其
NSObject视为Objective-
C类,而应将其视为可可/基础类。即使您使用Swift而不是Objective-C,您仍在使用所有相同的框架。
有两种选择:(1)将
dynamic属性添加到要作为选择器引用的函数中:
dynamic func timerTick() { self.angerLevel++ print("Angry! (self.angerLevel)") }
或(2)声明
Person为的子类
NSObject,然后只需
super.init()在初始化程序的开头进行调用:
class Person: NSObject { var timer = NSTimer() var angerLevel = 0 func startTimer() { print("starting timer") timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerTick", userInfo: nil, repeats: true) } func timerTick() { self.angerLevel++ print("Angry! (self.angerLevel)") } override init() { super.init() self.startTimer() }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)