swift - 为什么在这种情况下 Array 的元素是可选的?
问题描述
let x = Array(repeating: "test", count: 3)
x.first.count
我有一个错误:
“可选类型'字符串的值?' 必须解包以引用已包装的基本类型“字符串”的成员“计数””
我为什么要写: x.first?.count
?
我很确定这个数组的第一个元素不是 nil
解决方案
我很确定这个数组的第一个元素不是 nil
是的,但它的实现并不知道,它也是在没有值存在的情况下编写的,所以可选来救援
extension Array {
@inlinable public var first: Element? { get }
}
推荐阅读
- etl - 如果特定任务失败,是否可以终止流程?
- javascript - Laravel 使用 QueryBuilder 时如何避免页面重新加载
- swift - 肖像视频在 iOS 14 中不再保留纵横比
- keycloak - 使用 Keycloak 中的自定义 Admin REST API 获取用户的 ID 令牌
- linux - 计算 .pcap 文件中的唯一 MAC 地址
- java - 如何在 Google 注册页面中使用标签名称 div 切换到另一种语言?
- amazon-web-services - 如何跨区域迁移 AWS 资源?
- c# - 具有 Max 和 group by 的实体框架 Oracle 数据库子查询
- reactjs - 解析错误:app.js 文件中出现意外令牌,应为“,”
- javascript - 删除具有相同名称属性的表单值