swift - 在 swift 4.1 中使用 nil 合并进行隐式展开时出现意外的“some()”
问题描述
我在运行此代码时遇到了来自运行 swift 4.1 的 xcode 9.3 的奇怪响应:
let old = "not an int"
let new: Int! = Int(old) ?? 2
print(new)
print(new!)
响应是some(2)
和2
(强制展开)(检查下图)。
这是some
从哪里来的?(请解释或提供参考以了解更多信息some
)
解决方案
some
就像optional
在打印它们时添加到可选值中一样,它在 swift 4.1 中是新的
推荐阅读
- pandas - 在 pandas 中获取等于给定行的值的列名
- node.js - 使用纪元时间戳作为客户端输入的 Postgres 数据查询?
- alpha - 以透明背景录制
- python - 使用 Runge-Kutta 算法 python 求解罗斯勒振荡器
- c# - 从查找表中批量读取的有效方法
- javascript - 如何通过定义特定的代码属性映射此对象数组以获取完整对象?
- mysql - 两个单独的更新涉及一个 SQL 查询中的不同列
- spring-boot - spring security自定义表达式中访问http请求
- hypothesis-test - 有没有办法将一组曲线分为两组或三组?
- javascript - 添加源后如何选择与原始图像大小相同的图像源?