[String!]和[String]之间有什么区别!

And*_*ang 3 arrays optional ios swift

我是很新的雨燕,想知道之间的区别[String!][String]!.两者都不是可选的?但是[String]!表明nil什么时候未初始化而[String!]不是?

luk*_*302 8

[String!]是一个隐式展开String的数组

[String]!是一个隐式解开的Strings 数组

这意味着第一个可以包含nil值但不能包含值nil.第二个本身可能是,nil但其内容始终是非nil.


Luc*_*tti 6

[串!]

这是一个数组Implicitly Unwrapped Strings.

这意味着在这个数组的每个元素中你都可以找到一个Stringnil.

let list0: [String!] = ["Hello", nil, "world", nil]
Run Code Online (Sandbox Code Playgroud)

[串]!

这是一个Implicitly Unwrapped Array包含String.

这意味着在这样声明的变量中,您可以找到nil每个元素都有效的数组String.

let list1: [String]! = nil
let list2: [String]! = ["Hello", "world"]
Run Code Online (Sandbox Code Playgroud)