[String!]和[String]之间的区别是什么!

时间:2015-12-27 22:17:23

标签: ios arrays swift optional

我对Swift很陌生,想知道[String]![String]!之间的区别。两者都不是可选的?但nil表示未初始化时[String!]double d = num2 / (double)num1; 没有表示{{1}}?

3 个答案:

答案 0 :(得分:8)

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

数组

[String]!是一个隐式解包的String s

数组

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

答案 1 :(得分:6)

[字符串!]

这是String

的数组
  

这意味着在此数组的每个元素中,您都可以找到nillet 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的可选数组。