相关疑难解决方法(0)

具有容量的Swift init Array

如何使用特定容量在swift中初始化数组?

我试过了:

var grid = Array <Square> ()
grid.reserveCapacity(16)
Run Code Online (Sandbox Code Playgroud)

但得到错误

expected declaration 
Run Code Online (Sandbox Code Playgroud)

arrays swift

36
推荐指数
4
解决办法
3万
查看次数

保留容量(Swift)与调整大小(C++)

我尝试将 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分配请求的大小,但是为什么当我尝试向特定单元格写入内容时出现错误?

swift

1
推荐指数
1
解决办法
78
查看次数

标签 统计

swift ×2

arrays ×1