无法将自定义IBAction连接到按钮

时间:2016-02-16 22:28:56

标签: ios xcode swift ibaction researchkit

我正在关注swift(http://www.raywenderlich.com/104575/researchkit-tutorial-with-swift)中的ResearchKit教程,我无法将我的任何IBaction方法连接到主故事板中的按钮。这是代码(来自教程):

import ResearchKit

 class ViewController: UIViewController {

    @IBAction func consentTapped(sender : AnyObject) {
        let taskViewController = ORKTaskViewController(task: ConsentTask, taskRunUUID: nil)
        taskViewController.delegate = self
        presentViewController(taskViewController, animated: true, completion: nil)
    }

    @IBAction func surveyTapped(sender : AnyObject) {
        let taskViewController = ORKTaskViewController(task: SurveyTask, taskRunUUID: nil)
        taskViewController.delegate = self
        presentViewController(taskViewController, animated: true, completion: nil)
    }
}

extension ViewController : ORKTaskViewControllerDelegate {

    func taskViewController(taskViewController: ORKTaskViewController, didFinishWithReason reason: ORKTaskViewControllerFinishReason, error: NSError?) {
        taskViewController.dismissViewControllerAnimated(true, completion: nil)
      }

}

我进入主故事板并单击View Controller,我尝试将我的类设置为ViewController和UIViewController,并且这些方法应该显示在Sent Events中,但它们不会。我也试过了ctrl拖动,这对我来说也没用。

2 个答案:

答案 0 :(得分:1)

问题是,当视图控制器类设置为我的IBaction方法所在的类时,我没有从我的按钮直接拖动到黄色视图控制器按钮。

答案 1 :(得分:1)

您可以将@IBAction的参数从(_ sender: Any)更改为(_ sender: AnyObject),但需要手动更改。 并尝试使用Ctrl + Drag。

它可能有用。