我正在用 Objective-C 创建一个框架。我在 Objective-C 项目中一切正常。但是当我将我的框架与 Swift 项目集成时,它的行为很奇怪。
我的斯威夫特项目:
- 只有一个 ViewController 和一个连接了 IBAction 的按钮。
现在:
- 在
viewDidAppear
我已经初始化了我的框架并设置delegate
为self
. - 一旦我调用了初始化成功的委托,我就会调用另一个方法。
- 但奇怪的行为是一切都停止了,甚至
IBAction
不工作。
但是当我尝试在 viewDidAppear 中添加 NSTimer 重复方法时,一切都恢复正常了。
我知道这是一个非常奇怪的问题,但可能有人遇到过这个问题。
我的代码:
override func viewDidAppear(animated: Bool) {
MySDK.sharedInstance().initWithAppKey("123")
MySDK.sharedInstance().delegate = self
NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timer", userInfo: nil, repeats: true)
}
代表电话,
//This is getting called
func initSdkSuccessful() {
MySDK.sharedInstance().doStuff()
}
//This is not getting called
func stuffDone() {
}
IBA行动,
//This is getting called if I do not set delegate,but if I set delegate to self then It doesn't.
@IBAction func btnTapped(sender: UIButton) {
MySDK.sharedInstance().doAnotherStuff()
}
谢谢