使用全局函数启动后立即崩溃

Posted

技术标签:

【中文标题】使用全局函数启动后立即崩溃【英文标题】:Crash immediately after launch when using global function 【发布时间】:2015-09-28 23:01:33 【问题描述】:

我刚刚找到a problem的解决方案 我在重新打开后恢复我的应用程序状态的地方执行了我不想要的 segue 动画。

问题是我必须在应用程序委托中将didFinishLaunchingWithOptions 更改为willFinishLaunchingWithOptions。该应用程序在恢复状态时不再动画,但是我现在遇到了不同的问题。

我正在使用一个函数从传递给函数的数字中获取 RGB 颜色。我使用此函数在表格视图的每个单元格中设置视图的背景颜色。在我进行此更改之前它运行良好,但是现在它在这一行崩溃了:

    cell.timeBackgroundView.backgroundColor = getColorFromNumber(Int(ride.waitTime!)!)

我检查了ride.waitTime! 不等于 nil,但事实并非如此。 getColorFromNumber 在我的一个类上方全局声明。

有人知道为什么这是一个问题吗?当应用程序恢复时,该功能似乎尚未“加载”。

编辑:

崩溃很简单:

fatal error: unexpectedly found nil while unwrapping an Optional value

【问题讨论】:

用有关崩溃的详细信息更新您的问题。 我已经完成了,但它只是fatal error: unexpectedly found nil while unwrapping an Optional value 这是一个开始。现在使用调试器并找出哪个值是nil。然后找出为什么是nil 并修复它。 Int() 也可能失败并返回 nil 【参考方案1】:

想通了。在我的 ride 类中,我编码正确,但我使用错误的键解码 waitTime 属性,因此,它无法转换为颜色,因为函数需要一个 int。

【讨论】:

以上是关于使用全局函数启动后立即崩溃的主要内容,如果未能解决你的问题,请参考以下文章

防抖节流函数(挂载全局使用)

javascript闭包和立即执行函数的作用

Qt / Windows:在全局范围对象的构造函数中连接信号和插槽时崩溃

作用域闭包立即执行函数

作用域闭包立即执行函数

来自dispatch_async全局崩溃的C函数调用,但在主队列上工作