2016-12-15 139 views
-2

(新手问题)后,重新命名文件夹/模块等我发现事件不再触发。在故事板检查员看来,所有事件看起来都是正确连线的。故事板事件没有到达视图控制器

但是在视图控制器中没有触发事件。

这怎么调试?它可能是错误的模块名称,相对路径或类似的东西。

代码片段:

class ViewController: UIViewController, STBackgroundTaskDelegate, MeshViewDelegate, UIGestureRecognizerDelegate, AVCaptureVideoDataOutputSampleBufferDelegate { 

viewDidLoad中:

override func viewDidLoad() { 
    super.viewDidLoad() 
    // ... more here... 
} 

接收方法:

@IBAction func overlayTypeChangedWithSender(_ sender: AnyObject) { 
    NSLog("Overlay type changed") 
    showOverlay() 
} 
+1

我们需要一些代码,否则我们无法帮助你。 – Sulthan

+0

确保Identity Inspector中的Module字段指向故事板中的新模块名称 – sheetal

+0

Sulthan - 我不知道要发布什么代码。发布完整的故事板和ViewController没有什么意义,是吗? –

回答

0

您是否尝试过在连接你的问题的一个类另一个控制?如果你能做到这一点,请查看新控件的连接检查器,以及同一视图中的早期连接检查器 - 它们应该连接到相同的类(当然),但如果它们不是,你只需要删除旧连接并重新连接

+0

我尝试了几个控件,他们都没有工作。我删除并重新添加了所有连接,但仍然无法工作。 –

+1

所以你绝对有正确的连接你的班级文件和视图控制器 - 否则你将无法添加新的插座... 什么事件失败?您是否需要设置代表,或者它是否对按钮上的简单操作失败? – Russell

+0

是的,失败的按钮和UISegmentedControl。 –

1

您可能忘记更改Storyboard中的​​或Xcode缓存过期数据。请执行以下操作:

  • NameOfViewController复制到您的Storyboard中的viewController的​​字段。
  • 清理项目(产品 - >清洁)
  • 清除派生数据。 Here is how
  • 重新启动的Xcode
  • 构建&运行
+0

这些步骤确实不能解决问题。但谢谢你尝试:) –

相关问题