如何使用特定容量在swift中初始化数组?
我试过了:
var grid = Array <Square> ()
grid.reserveCapacity(16)
Run Code Online (Sandbox Code Playgroud)
但得到错误
expected declaration
Run Code Online (Sandbox Code Playgroud) 我尝试将 C++ 代码转换为 Swift。我有一个用C++编写的方法(简化示例)
std::vector<int> list;
void foo() {
...
while(isOk) {
list.resize(10000); //resize do it's job only if list.capasity < requested size
for(int i = 0; i < 10000; i++) {
list[i] = i;
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
迅捷的一面:
var arr: [Int] = []
do {
while true {
arr.reserveCapacity(10000)
for i in 0..<10000 {
arr[i] = i
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误是:
错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)。
根据文档reserveCapacity分配请求的大小,但是为什么当我尝试向特定单元格写入内容时出现错误?