【发布时间】:2016-07-10 15:24:56
【问题描述】:
我正在尝试使用以下代码获取 UnsafeMutableBufferPointer,它有时在 Playground 中有效,但也失败了
let array : [Character] = ....
func getUnsafeMP(array: [Character]) -> UnsafeMutableBufferPointer<Character> {
let count = array.count
let memory = UnsafeMutablePointer<Character>(allocatingCapacity: count)
for (index , value) in array.enumerated() {
memory[index] = value //it fails here EXC_BAD_ACCESS
}
let buffer = UnsafeMutableBufferPointer(start: memory, count: count)
return buffer
}
【问题讨论】:
-
"我正在尝试获取 UnsafeMutableBufferPointer" 你能解释一下为什么吗?了解您真正想要完成的工作可能会有所帮助。
-
@matt 我正在玩 swift 我想比较使用
UnsafeMutableBufferPointer和简单的for in enumeration的循环 -
@matt 你知道如何实现吗?
-
但是你想比较什么?数组不是一个不安全的可变缓冲区指针,所以你会比较苹果和橘子。
-
关于访问数组元素的速度问题,您可能想在这里看到我的回答:stackoverflow.com/a/36160922/341994
标签: swift swift3 unsafemutablepointer