迅速。何时应定义具有特定数据类型的对象/值

时间:2016-08-05 05:56:25

标签: swift

当我开始使用Swift开发并搜索有关该语言的不同教程和文档时,我不确定一件事。 您可以声明具有特定数据类型的对象/值,如下所示:

var aString:String = "Test"
var anObject:SKScene = ASceneClass()

或者你可以这样做:

var aString = "Test"
var anObject = ASceneClass()

结果将完全相同(当然ASceneClass继承自SKScene)

由于每个人都在做不同的事情,我想知道背后是否有合理的理由,或者你是否因为可读性而这么做?

2 个答案:

答案 0 :(得分:1)

推荐/记录在swift中声明变量的方法如下:

var <variable name>: <type> = <initial value/expression>
  

注意:给定表单声明存储变量或存储变量属性。当你清楚type annotation时,就会使用它。

虽然在没有Type的情况下声明变量是有效的。

var variableName = <initial value>
  

注意:如果您不知道type annotation必须指定“初始值”&#39;到那个变量。

有关详细信息,请参阅Declaration上的Swift文档。

答案 1 :(得分:1)

在变量名称后面声明类型称为类型注释

如果不这样做,则必须提供初始值

var aString = "Test"

当时通常不知道价值,或者您甚至不确定它是否不是零值,那么您可以将其声明为可选

var aString:String?

如果您想在没有任何初始化的情况下声明变量但是您确定它不会评估为nil,那么您需要强制解包它

var aString:String!

这是定义。实际上,即使用值初始化变量,使用类型注释总是更好,因为在程序的后面你会发现任何时候你用变量的类型弄乱了。

此外,当您声明一个数组或字典(通常是嵌套的数组或字典)时,Xcode可能希望它们具有类型注释,因为在预先不知道该类型时,它可能会出现一些写入值的问题。

回顾

您将希望尽可能使用类型注释,这意味着无论何时您事先确定变量的类型