【问题标题】:'fatal error: unexpectedly found nil while unwrapping an Optional value' for UIToolbar'致命错误:在展开 UIToolbar 的可选值时意外发现 nil'
【发布时间】:2016-01-29 05:15:34
【问题描述】:

以编程方式创建了一个工具栏。但是,我在 toolbar.frame = CGRect(x: 0, y: 150, width: 250, height: 20) 处为我的工具栏收到错误“致命错误:在展开可选值时意外发现 nil”。我确定我没有两次声明工具栏,所以我不明白为什么我会得到这个。

var toolbar : UIToolbar!

override func viewDidLoad() {
    super.viewDidLoad()

    toolbar.frame = CGRect(x: 0, y: 150, width: 250, height: 20)
    toolbar.center = CGPoint(x: 50, y: 50)
    self.view.addSubview(toolbar)
}

【问题讨论】:

  • 好吧......你从来没有真正创建工具栏......在某处做toolbar = UIToolbar()(最好在你设置东西之前)

标签: ios swift runtime-error


【解决方案1】:
var toolbar : UIToolbar!

仅将您的工具栏变量声明为 UIToolbar。您仍然没有创建它。因此,当您在 viewDidLoad() 中调用 toolbar.frame 时,您会遇到错误。

在调用toolbar.frame之前先调用toolbar = UIToolbar()来创建UIToolbar实例

var toolbar = UIToolbar()

override func viewDidLoad() {

    super.viewDidLoad()

    toolbar.frame = CGRect(x: 0, y: 150, width: 250, height: 20)
    toolbar.center = CGPoint(x: 50, y: 50)
    self.view.addSubview(toolbar)
}

【讨论】:

  • 似乎不需要隐式打开工具栏,因此与其冒险,不如这样做:var toolbar = UIToolbar()
  • 这也是正确的
猜你喜欢
  • 2016-01-26
  • 2016-02-29
  • 2020-09-19
  • 2016-01-08
相关资源
最近更新 更多