类Y的对象X在Swift中未实现methodSignatureForSelector

类Y的对象X在Swift中未实现methodSignatureForSelector,第1张

类Y的对象X在Swift中未实现methodSignatureForSelector

不要将其

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()    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5674059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存