首页 > 解决方案 > 为什么在这种情况下 Array 的元素是可选的?

问题描述

let x = Array(repeating: "test", count: 3)
x.first.count

我有一个错误:
“可选类型'字符串的值?' 必须解包以引用已包装的基本类型“字符串”的成员“计数””

我为什么要写: x.first?.count
我很确定这个数组的第一个元素不是 nil

标签: swift

解决方案


我很确定这个数组的第一个元素不是 nil

是的,但它的实现并不知道,它也是在没有值存在的情况下编写的,所以可选来救援

extension Array { 
   @inlinable public var first: Element? { get }
}

推荐阅读