【发布时间】:2019-09-01 13:03:27
【问题描述】:
let x = Array(repeating: "test", count: 3)
x.first.count
我有一个错误:
“可选类型‘字符串’的值?必须解包以引用已包装的基本类型'String'的成员'count'"
我为什么要写:x.first?.count?
我很确定这个数组的第一个元素不是 nil
【问题讨论】:
-
你确定,但编译器不是。
-
另外,可选性不是关于第一个元素为
nil的可能性,而是关于数组为空的可能性(因此,根本没有第一个元素)。如果一个元素可以是可选的(例如[String?]),那么first实际上会返回一个双可选(String??)。
标签: swift