swift - UnsafeRawPointer 给出悬空指针警告
问题描述
要在 SceneKit 中绘制自定义对象,我们需要这个
let indices:[Int32] = [0, 1, 2, 3, 4, 5]
let pointer = UnsafeRawPointer(indices)
let indexData = NSData(bytes: pointer, length: MemoryLayout<Int32>.size * indices.count)
但
let pointer = UnsafeRawPointer(indices)
给出 'UnsafeRawPointer' 的初始化导致悬空指针警告。
所以我该怎么做 ?
在我们使用这段代码创建 SCNGeometry 之后,SceneKit 是否仍在使用内存指针点中的这个位置,我想知道。
如果一旦创建了 SCNGeometry,就不再需要我们用来创建它的数据,考虑到 SceneKit 管理的几何内存,为什么我们会收到警告?
let indexData = NSData(bytes: pointer, length: MemoryLayout<Int32>.size * indices.count)
let element = SCNGeometryElement(data: indexData as Data, primitiveType: .triangles, primitiveCount: indices.count, bytesPerIndex: MemoryLayout<Int32>.size)
let geometry = SCNGeometry(sources: [vertexSource, normalSource], elements: [element])
let node = SCNNode()
node.geometry = geometry
解决方案
推荐阅读
- python-3.x - 分析 Python 3 堆栈跟踪请求模块 requests.exceptions.SSLError: urllib3.exceptions.MaxRetryError: Max retries exceeded with url:
- android - setOnClickListener() 在我的自定义视图中不起作用
- php - 自定义 Woocommerce 产品变体属性
- php - 如何使用 cURL 附加文件?
- python - RuntimeError:事件循环在 Future 完成之前停止
- ajax - 从局部视图更新 ajax 调用的父模型
- python - 使用熊猫将文件上传到s3时出现印度卢比符号UnicodeEncodeError
- yocto - 如何在 .bbappend 文件中的 do_unpack_append 中获取 ${THISDIR}
- python - 无法使用 tflite 对象检测模型推断结果
- r - 有没有办法告诉 R 使用 sock5 连接到远程 PostgresDB?