iOS Swift 中未调用 Framework Delegate 和 IBAction

iOS Framework Delegate and IBAction are not getting called in Swift

我正在 Objective-C 中创建一个框架。 我在 Objective-C 项目中一切正常。 但是当我将我的框架与 Swift 项目集成时,它表现得很奇怪。

我的Swift项目:

现在:

但是当我尝试在 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() {

}

IBActions,

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

谢谢

我找到了非常简单的解决方案,

刚刚将我的委托从 weak 引用更改为 strong,就是这样。

可能是问题是,当委托方法之一被调用时,委托对象变为 nil,因为它是 weak 引用。