问题标签 [unsafemutablepointer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Swift UnsafeMutableRawPointer 错误
使用 Swift 3,我得到了这个,没有任何错误:
但是,当我在 iOS 12 Xcode Beta 上构建它时,我收到一条错误消息:
使用无关的“&”
对于这一行:
swift - UnsafeMutablePointer 的奇怪行为
我已经构建了一个包含伪 C 字符串 UnsafeMutablePointer 的小结构。现在我想添加一种方法来获取字符串的长度,但有些东西表现得很奇怪:
如果我不使用该length
属性,一切正常,打印语句会打印一个“H”。但是,如果我尝试访问pointer.length
,它会打印一个换行符,尽管我在 print 语句之后使用了该属性,并且长度为 0。这是一个错误还是我犯了一个错误?
swift - Swift:复制 UInt32 缓冲区的最快方法
我有两个UnsafeMutableBufferPointer<UInt32>
s 的代码,需要尽可能快地选择性地从一个缓冲区复制到另一个缓冲区。有一些逻辑可以决定是否复制特定索引/地址处的元素,所以不幸的是我不能memcpy()
全部复制。
在 Swift 中进行每个元素缓冲区复制的最快方法是什么?
为了简单起见,我在下面的示例中删除了每个元素的逻辑。
这很慢(56 毫秒):
这要快得多(18ms),但我想更快:
有更快的方法吗?
objective-c - 您如何满足 Swift 中 CTFrameGetLineOrigins() 中的“lineOrigins”参数?
我试图CTFrameGetLineOrigins
从这里弄清楚:CTFrameGetLineOrigins Got Incorrect Origins,并试图将 ObjC 转换为 Swift。
对象-C:
迅速:
但是我收到 CTFrameGetLineOrigins 的第三个参数的错误:
无法将类型“[CGPoint]”的值转换为预期的参数类型“UnsafeMutablePointer”
我如何克服这个错误?
ios - IOS/Objective-C/Swift:在 Swift 中处理 UnsafePointer
在我用于语音识别的 Objective-C 方法中,我有一些代码来测量扬声器的音量。然而,当我尝试将它翻译成 Swift 时,我遇到了 Swift 如何处理相对于 Objective-C 的指针的问题。
这是Objective-C doe:
尝试在 Swift 中执行此操作:
给出多个错误。
在此先感谢您的任何建议。
swift - 不安全可变指针vDSP_fft_zip 返回的立即被覆盖
在 Swift 4 中,我正在创建一个 DSPSplitComplex 以在 vDSP_fft_zip() 中使用,但下次我创建另一个 DSPSplitComplex 时它会立即被覆盖。
(DSPSplitComplex结构有2个UnsafeMutablePointer<Float>
)
我现在可以在调试器中看到 UnsafeMutablePointer 的splitComplex2.realp
地址与 相同splitComplex1.realp
,因此我对 splitComplex2 所做的任何事情都会覆盖 splitComplex1
我猜线索可能在标题“不安全”中,但如果它实际上不可用,那么存储返回的 DSPSplitComplex 内容的正确策略是什么?
我想从它们创建新的 [Float] 数组是制作永久副本的一种方式
...但似乎,尽管阅读了 Swift 文档,但我仍然误解了 UnsafeMutablePointer 的观点,为什么 vDSP_fft_zip() 会返回一些从一开始就无法使用的东西?
swift - How to copy memory to an UnsafeMutableRawPointer starting from an index in Swift?
I know how to copy memory from an array to an UnsafeMutableRawPointer starting at index 0 by using:
where bytes
is an array of floats.
However, I would like to copy from my array to a mutable raw pointer starting from an index that might not be zero.
Eg.:
So, if the pointee was [0, 0, 0, 0, 0], it will become [0, 0, 1, 2, 3].
How can I achieve this in Swift 4?
swift - 与 UnsafeMutablePointer 一起使用时,Swift 中的局部变量是否隐式初始化为 nil?
VTCreateCGImageFromCVPixelBuffer () 接收一个 UnsafeMutalePointer。假设发生错误并且它没有分配给 cgImage。我有可能返回一个未初始化的变量吗?如果是这样,我需要用 nil 初始化变量:
这不是欺骗Do Optionals 默认为 nil 吗?因为这个问题谈到了 UnsafeMutablePointers,并且涉及局部变量,而该问题谈到了属性。
c - 不安全可变指针转为 UTF8 字符串
我有一个指向 C 字符串的 UnsafeMutablePointer,我想将此指针处的字节转换为 Swift 字符串,数据是 C 字符串,所以是 UTF8。
是否可以逐字节迭代直到NULL?或者更简单的方法?