如何在不复制的情况下从UnsafeBufferPointer创建数组?

时间:2015-11-22 08:05:24

标签: arrays swift memory buffer swift2

我处于一个棘手的情况,我有一个由$(".collap-btn").click(function(){ var id=$(this).attr('id'); $("#toggle"+id).collapse('toggle'); }); 代表的非常大的内存,我需要将其表示为UnsafeBufferPointer。现在,Swift标准库提供了一个初始化程序,可以从任何给定的序列中复制复制元素,但它无法直接提供底层存储。

我有什么方法可以“演绎”#39; ArrayUnsafeBufferPointer,同时避免复制?

1 个答案:

答案 0 :(得分:0)

struct UnsafeBufferPointer<Element> { ... }
  

连接存储的Elements缓冲区的非拥有指针   内存,为底层元素提供Collection接口。

答案是否定的,这是不可能的。

init(start: UnsafePointer<Element>, count: Int)
  

在计数连续的Element实例上构造一个UnsafePointer   从头开始。

构造函数不会在任何地方复制任何内容。构造函数不会创建任何内存分配