【问题标题】:Access IBOutlet in animation block in Swift在 Swift 的动画块中访问 IBOutlet
【发布时间】:2015-08-03 12:53:21
【问题描述】:

我正在使用这些行在 Swift 中为 uiview 设置动画。 我收到类似的错误

致命错误:在展开可选值时意外发现 nil

UIView.transitionFromView(viewFront, toView: viewBack, duration: 0.7, options: UIViewAnimationOptions.TransitionFlipFromLeft) { (boool) -> Void in

  self.viewFront.hidden = !self.viewFront.hidden
  self.viewBack.hidden = !self.viewBack.hidden

}

【问题讨论】:

  • 您从哪个方法调用此代码?
  • 打开按钮点击我正在调用上面的代码。
  • 如果它在按钮点击操作内部,它可能与一些设置不当的 IBOutlet 有关,请参阅下面的@Rob 答案,它应该可以解决您的问题。

标签: ios swift animation block fatal-error


【解决方案1】:

检查 viewFrontviewBack 并查看其中一个是否是 nil。如果是这样,此问题的最常见来源是:

  • 未能正确连接插座;这可以通过查看代码直观地识别;在以下示例中,viewFront 出口未正确连接(如左边空白处的圆圈所示),而 viewBack 已连接:

    或者转到故事板,选择有问题的视图,然后查看右侧面板中的连接检查器:

  • 错误地实例化视图控制器(例如,使用ViewController() 而不是storyboard?.instantiateViewControllerWithIdentifier("StoryboardID")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    相关资源
    最近更新 更多