我对Swift很陌生,想知道[String]!
和[String]!
之间的区别。两者都不是可选的?但nil
表示未初始化时[String!]
而double d = num2 / (double)num1;
没有表示{{1}}?
答案 0 :(得分:8)
[String!]
是一个隐式展开的String
s
[String]!
是一个隐式解包的String
s
这意味着第一个值可以包含nil
值,但本身不能为nil
。第二个本身可能是nil
,但其内容始终为非nil
。
答案 1 :(得分:6)
这是String
。
这意味着在此数组的每个元素中,您都可以找到
nil
或let list0: [String!] = ["Hello", nil, "world", nil]
。
Implicitly Unwrapped Array
这是String
,其中包含nil
。
这意味着在这样声明的变量中,您可以找到
String
或数组,其中每个元素都是有效的let list1: [String]! = nil let list2: [String]! = ["Hello", "world"]
。
var createdElement = document.createElement('div');
Object.defineProperty(createdElement, 'id', {
value:'someId',
enumerable: true,
writable: true
});
答案 2 :(得分:2)
[String!]
- 这是一个非可选的可选Strings
数组
[String]!
- 这是一个非可选Strings
的可选数组。