swift4 - 尽管有值,但将可选字符串转换为 Int 崩溃
问题描述
我检查可选字符串
print(limitCash)
if let value = Int32(limitCash) {
aProvider.limitBuy = value
}
limitCash 的值为 Optional("500")。
程序检查 if let 语句并跳过它而不赋值。
如果我尝试 aProvider.limitBuy = Int32(limitCash),程序就会崩溃!
解决方案
首先你需要解开String?转换为 String,然后解包从 String 转换为 UInt32 的结果(这将是 Uint32?)。
print(limitCash)
if let stringValue = limitCash {
if let value = Int32(stringValue) {
print(value) // 500
}
}
推荐阅读
- git - 如何从 git-diff-index 中排除路径/文件
- docker - 有没有办法嵌套 docker build 命令?
- javascript - 带有覆盖 div 的全出血响应图像
- javascript - 如何在 for 循环中使用 javascript queryselectorall 移动所有图像?
- android - BLE Android如何传递特征以在片段中使用
- questdb - 如何在 QuestDB docker 容器中保存数据?
- varnish - 为什么在 customexec.config(清漆缓存)中定义了两次“ExecStart=”?
- cognos - 如何为不同的电子邮件接收者生成 Cognos 报告?
- javascript - Javascript 文件由 eslintrc.json 自动更改
- html - jQuery 函数需要单击两次才能运行但希望第一个 div 可见