我对Swift还比较新,想知道[String!]
和[String]!
之间的区别。两者都是非可选的?但[String]!
表示未初始化时为nil
,而[String!]
则不是这样?
我对Swift还比较新,想知道[String!]
和[String]!
之间的区别。两者都是非可选的?但[String]!
表示未初始化时为nil
,而[String!]
则不是这样?
[String!]
是一组隐式解包的String
数组
[String]!
是一个隐式解包的String
数组
这意味着第一个数组可以包含nil
值,但它本身不能为nil
。第二个数组本身可能为nil
,但其内容始终不为空。
这是一个包含隐式解包的字符串数组。
这意味着在这个数组的每个元素中,你可能会找到一个
String
或nil
。
let list0: [String!] = ["Hello", nil, "world", nil]
这是一个包含隐式解析数组(Implicitly Unwrapped Array)的字符串。
这意味着在一个声明为此类型的变量中,你可以找到
nil
或者一个每个元素都是有效的 字符串 数组。
let list1: [String]! = nil
let list2: [String]! = ["Hello", "world"]
[String!]
- 这是一个非可选的数组,其中包含可选的Strings
。
[String]!
- 这是一个可选的数组,其中包含非可选的Strings
。