我是很新的雨燕,想知道之间的区别[String!]
和[String]!
.两者都不是可选的?但是[String]!
表明nil
什么时候未初始化而[String!]
不是?
[String!]
是一个隐式展开String
的数组
[String]!
是一个隐式解开的String
s 数组
这意味着第一个可以包含nil
值但不能包含值nil
.第二个本身可能是,nil
但其内容始终是非nil
.
这是一个数组Implicitly Unwrapped Strings
.
这意味着在这个数组的每个元素中你都可以找到一个
String
或nil
.
let list0: [String!] = ["Hello", nil, "world", nil]
这是一个Implicitly Unwrapped Array
包含String
.
这意味着在这样声明的变量中,您可以找到
nil
每个元素都有效的数组String
.
let list1: [String]! = nil let list2: [String]! = ["Hello", "world"]