我有一个MacOS应用程序已经工作了大约一年。包含20个NSTextField的屏幕上的NSTextField开始中止,“在展开可选值时意外发现nil”。到目前为止,我已经完成了以下工作:
当我在我的开发帐户中运行Xcode时,这会修复应用程序。当我生成存档并将其传输到我的生产帐户时,它仍然会中止。
我将假设这仍然是罪魁祸首,因为我从核心转储中得不到多少(因为我可能不明白我在看什么)。
这是我的代码。 (game_number
是Int
)
game_number = Int(gameNumberTextField.stringValue)!
当我拆分代码并执行此操作时:
let theNumber = (gameNumberTextField.stringValue)!
game_number = Int(theNumber)
theNumber
是一个字符串并且正确,但game_number
是零
NSTextField
父类NSControl
有一个名为integerValue的属性,它返回一个Int
:
game_number = gameNumberTextField.integerValue
您应该打开可选值,如下所示:
guard let theNumber = gameNumberTextField.integerValue else {
// Value not found, handle this case
return
}
希望这可以帮助!