ios - 在 ios Swift 中声明变量之间的区别?

标签 ios swift declaration

最近在学习Swift,发现一个变量有两种声明方式。

var indexArray = NSMutableArray()     //and
var indexArray : NSMutableArray = NSMutableArray()

我只是想知道它们之间有什么区别?它会复制任何类型的变量赋值吗?

最佳答案

这里有一个简单的解释

var indexArray = NSMutableArray()

如上所述, indexArray 变量可以是任何一个, String , Int ,......。你没有专门为该变量指定任何类型。

var indexArray : NSMutableArray = NSMutableArray()

在这里你特别指定 indexArray 是一个 NSMutableArray

您可以在声明常量或变量时提供类型注释,以明确常量或变量可以存储的值类型。通过在常量或变量名称后放置一个冒号,后跟一个空格,然后是要使用的类型的名称来编写类型注释。

此示例为名为 welcomeMessage 的变量提供类型注释,以指示该变量可以存储字符串值:

 var welcomeMessage: String

声明中的冒号表示“……类型……”,因此上面的代码可以读作:

声明一个名为 welcomeMessage 的变量,它是 String 类型。

短语“of type String”的意思是“可以存储任何字符串值”。将其视为可以存储的“事物的类型”(或“事物的种类”)。

现在可以将 welcomeMessage 变量设置为任何字符串值而不会出错:

 welcomeMessage = "Hello" 

您可以在一行中定义多个相同类型的相关变量,以逗号分隔,并在最终变量名后添加一个类型注释:

var red, green, blue: Double”

* 注意 *

在实践中很少需要写类型注解。如果您在定义常量或变量时为其提供初始值,Swift 几乎总能推断出用于该常量或变量的类型,如类型安全和类型推断中所述。在上面的 welcomeMessage 示例中,没有提供初始值,因此 welcomeMessage 变量的类型是用类型注释指定的,而不是从初始值推断出来的。

Excerpt From: Apple Inc. “The Swift Programming Language (Swift 2 Prerelease).” iBooks. https://itun.es/us/k5SW7.l

关于ios - 在 ios Swift 中声明变量之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35424331/

相关文章:

ios - IOS中单例的使用及注意事项

javascript - 返回类构造函数的函数的类型声明

angular - 函数实现丢失或没有紧跟在声明之后,TypeScript 类

ios - 归档数据时发送到实例的无法识别的选择器(NSCoding)

ios - NSArray 错误 : NSCFArray objectAtIndex index (5) beyond bounds (5)

ios - Phonegap 2.2.0 iOS文件传输错误代码2

string - Xcode 6.1 和 Swift - 文本字段输入字符串到整数以进行基本数学

ios - 如何更改每日通知中的文本?

ios - 为什么应用程序启动时方向错误?

c - 通过引用错误传递结构(不完整的结构和重新声明)