为什么当我创建arr时,一个数组然后尝试使用for-in循环用整数填充它,当我不初始化它时给我一个错误.我可以告诉它,当我写"var arr"时它被初始化了,但显然不是这样,如果不初始化它,写var var实际上是做什么的.
错误示例
var arr : [Int] //Error Message: Variable 'arr' passed by reference before being initialized
for i in 1...10 {
arr += [i]
}
arr //Error Message: Variable 'arr' used before being initialized
Run Code Online (Sandbox Code Playgroud)
工作实例
var arr : [Int] = [] //Allocating memory?
for i in 1...10 {
arr += [i]
}
arr
Run Code Online (Sandbox Code Playgroud)
只是说var arr没有初始化你的数组.初始值应该是一个空数组吗?它应该有N给定值的副本吗?如果它被声明为持有类型A对象,它应该用子类型初始化A.
所以你提供一个初始值; 最简单的是[]- 一个空数组.
| 归档时间: |
|
| 查看次数: |
1309 次 |
| 最近记录: |