首页 > 解决方案 > 斯威夫特:IBOutlets 停止工作的可能原因是什么?

问题描述

当我尝试将 IB Outlets 设置为文本时,我得到错误 Unexpectedly found nil while implicitly unwrapping an Optional value: file. 为什么是这样?我见过类似的问题,但没有一个解决方案适合我。我有很多 swift 文件,我正在通过这些文件传递数据,所以如果您对这些文件有疑问,请告诉我。

传递数据-我做到了

var currentViewControllerIndex = vcthing?.getCurrentIndex()
        let vc = storyboard?.instantiateViewController(withIdentifier: "TownSelectedViewController") as? TownSelectedViewController
        //currentViewControllerIndex =
        vc?.passerStr = selectedValues[currentViewControllerIndex!]

当我这样做时会出现问题

vc?.loopTownsForPopulation

Town SelectedViewController 中的函数 loopTownsForPopulation 尝试将 passerStr 设置为标签,虽然 passerStr 设置为正确的值并且我能够打印它并且我可以在 THE VIEW DID LOAD 中分配标签,但标签在另一个函数中不起作用而是说 Unexpectedly found nil 同时隐式展开 Optional value: file.

标签: iosswift

解决方案


textField 示例:

  • 您的 IB Outlets 与您的故事板失去了联系( textField 仍在故事板中)。
  • 您的 IB Outlets 已在您的 ViewController 中删除/更改名称,但仍存在于您的 Storyboard 中。
  • 您将 ViewController 中的项目复制到另一个项目。它可能会保留引用并可能崩溃

推荐阅读