NSTextField:将 String 转换为 Int 在 Xcode 之外中止 (nil)
NSTextField: Converting String to Int aborts (nil) outside of Xcode
我有一个 MacOS 应用程序已经运行了大约一年。包含 20 个 NSTextField 的屏幕上的 NSTextField 开始中止 "unexpectedly found nil while unwrapping an Optional value"。到目前为止,我已经完成了以下工作:
- 删除并重新分配文本字段的 IBOutlet link
- 删除并重建文本字段
当我在我的开发帐户中 运行 中 Xcode 时,这修复了应用程序。当我生成存档并将其传输到我的生产帐户时,它仍然中止。
我假设这仍然是罪魁祸首,因为我并没有从核心转储中得到太多信息(因为我可能不明白我在看什么)。
这是我的代码。 (game_number
是一个 Int
)
game_number = Int(gameNumberTextField.stringValue)!
当我拆分代码并执行此操作时:
let theNumber = (gameNumberTextField.stringValue)!
game_number = Int(theNumber)
theNumber
是一个字符串并且是正确的,但是 game_number
是 nil
你应该像这样打开可选值:
guard let theNumber = gameNumberTextField.integerValue else {
// Value not found, handle this case
return
}
希望对您有所帮助!
NSTextField
parent class NSControl
有一个 属性 叫做 integerValue 其中 returns 一个 Int
:
game_number = gameNumberTextField.integerValue
我有一个 MacOS 应用程序已经运行了大约一年。包含 20 个 NSTextField 的屏幕上的 NSTextField 开始中止 "unexpectedly found nil while unwrapping an Optional value"。到目前为止,我已经完成了以下工作:
- 删除并重新分配文本字段的 IBOutlet link
- 删除并重建文本字段
当我在我的开发帐户中 运行 中 Xcode 时,这修复了应用程序。当我生成存档并将其传输到我的生产帐户时,它仍然中止。
我假设这仍然是罪魁祸首,因为我并没有从核心转储中得到太多信息(因为我可能不明白我在看什么)。
这是我的代码。 (game_number
是一个 Int
)
game_number = Int(gameNumberTextField.stringValue)!
当我拆分代码并执行此操作时:
let theNumber = (gameNumberTextField.stringValue)!
game_number = Int(theNumber)
theNumber
是一个字符串并且是正确的,但是 game_number
是 nil
你应该像这样打开可选值:
guard let theNumber = gameNumberTextField.integerValue else {
// Value not found, handle this case
return
}
希望对您有所帮助!
NSTextField
parent class NSControl
有一个 属性 叫做 integerValue 其中 returns 一个 Int
:
game_number = gameNumberTextField.integerValue