为什么我们不必在函数体内提供属性默认值?

时间:2017-10-13 12:35:21

标签: swift

让我说我已经覆盖了这个函数,并且在它的主体内我定义了没有默认值的属性

1

为什么swift允许我跳过为此属性提供默认值?

let identifier: String 

3 个答案:

答案 0 :(得分:2)

一切都很好,因为你在使用前正在初始化它。 .hello { background: red; border-radius: 20px; transition: 2s; width: 100%; height: 200px; } .hello:hover { width: 20%; }<div class="hello"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque euismod elit diam, in condimentum eros scelerisque id. Cras tempus lectus tortor, ut elementum eros mollis consequat. Nullam ac odio eros. Phasellus at turpis tristique, facilisis neque nec, auctor turpis. Nunc ac justo gravida, lobortis lectus a, tempus felis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris vitae imperdiet sapien, eget interdum lacus. </div>if正在初始化该属性。您删除了else if部分,然后编译器将显示错误。

答案 1 :(得分:1)

重要的是你给变量一个类型,然后在下一行初始化值。因此,声明是合法的。

这种结构称为“条件初始化”,允许您根据环境(条件)不同地初始化变量。这是一个非常有用的功能,即使对于常量也是合法的。

答案 2 :(得分:0)

在Swift中声明变量时,您不需要提供值 您可以随后在代码中分配值。 您应该在尝试访问它之前执行此操作,否则:

  • 非可选变量:您收到运行时错误。
  • 可选变量:你得到零。