-1

我一直在寻找这个答案,但我没有找到任何专门解决这个问题的东西,或者我没有完全掌握我所发现的。

我有一个方法,该方法具有一个可选属性,该属性在执行 if 语句之前在调试器中单步执行代码时引发致命错误。一旦我使用 F7 进入 queueTrack 方法,错误就会发生。确切的错误是“致命错误:在展开可选值时意外发现 nil。”

该方法定义为:

var gameController: GameController?

func queueTrack(url: URL?, persistentID: UInt64, coreData: CoreDataController, gameController: GameController?) -> Bool {

    self.gameController = gameController

    //... Non-significant code to this problem

    return true
}

给我带来麻烦的项目是 gameController 属性,我已将其定义为可选。在这种特殊情况下,我为 gameController 属性传递了“nil”,因为应用程序在这个特定点没有运行游戏,并且调用类没有 GameController 的实例,但我在方法中需要该属性,所以代码是可重复使用的。

我知道是 GameController 给了我问题,因为如果我删除了 gameController 属性,我不会收到错误消息。

对我来说疯狂的是,当我看到该错误并且应用程序继续执行时,我可以按 CMD+CTL+Y,就好像没有任何问题一样。如果我没有单步执行代码,则当应用程序在调试模式下运行时,错误永远不会出现在调试器控制台中。

4

0 回答 0