问题标签 [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.

0 投票
1 回答
393 浏览

ios - Swift UnsafeMutableRawPointer 错误

使用 Swift 3,我得到了这个,没有任何错误:

但是,当我在 iOS 12 Xcode Beta 上构建它时,我收到一条错误消息:

使用无关的“&”

对于这一行:

0 投票
1 回答
349 浏览

swift - UnsafeMutablePointer 的奇怪行为

我已经构建了一个包含伪 C 字符串 UnsafeMutablePointer 的小结构。现在我想添加一种方法来获取字符串的长度,但有些东西表现得很奇怪:

如果我不使用该length属性,一切正常,打印语句会打印一个“H”。但是,如果我尝试访问pointer.length,它会打印一个换行符,尽管我在 print 语句之后使用了该属性,并且长度为 0。这是一个错误还是我犯了一个错误?

0 投票
0 回答
213 浏览

swift - Swift:复制 UInt32 缓冲区的最快方法

我有两个UnsafeMutableBufferPointer<UInt32>s 的代码,需要尽可能快地选择性地从一个缓冲区复制到另一个缓冲区。有一些逻辑可以决定是否复制特定索引/地址处的元素,所以不幸的是我不能memcpy()全部复制。

在 Swift 中进行每个元素缓冲区复制的最快方法是什么?

为了简单起见,我在下面的示例中删除了每个元素的逻辑。

这很(56 毫秒):

这要快得多(18ms),但我想更快:

有更快的方法吗?

0 投票
2 回答
201 浏览

objective-c - 您如何满足 Swift 中 CTFrameGetLineOrigins() 中的“lineOrigins”参数?

我试图CTFrameGetLineOrigins从这里弄清楚:CTFrameGetLineOrigins Got Incorrect Origins,并试图将 ObjC 转换为 Swift。

对象-C:

迅速:

但是我收到 CTFrameGetLineOrigins 的第三个参数的错误:
无法将类型“[CGPoint]”的值转换为预期的参数类型“UnsafeMutablePointer”

我如何克服这个错误?

0 投票
1 回答
77 浏览

ios - IOS/Objective-C/Swift:在 Swift 中处理 UnsafePointer

在我用于语音识别的 Objective-C 方法中,我有一些代码来测量扬声器的音量。然而,当我尝试将它翻译成 Swift 时,我遇到了 Swift 如何处理相对于 Objective-C 的指针的问题。

这是Objective-C doe:

尝试在 Swift 中执行此操作:

给出多个错误。

在此先感谢您的任何建议。

0 投票
1 回答
181 浏览

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() 会返回一些从一开始就无法使用的东西?

0 投票
1 回答
118 浏览

swift - UnsafeMutableRawPointer( 变量 ) 有多安全

如果我想获得一个变量的 unsafemutablerawpointer。然而,如果不创建副本或缓冲区,那么最好/有效的方法是什么?

下面的例子有效!

然而来自苹果的文档:

文档

0 投票
1 回答
1950 浏览

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?

0 投票
0 回答
23 浏览

swift - 与 UnsafeMutablePointer 一起使用时,Swift 中的局部变量是否隐式初始化为 nil?

VTCreateCGImageFromCVPixelBuffer () 接收一个 UnsafeMutalePointer。假设发生错误并且它没有分配给 cgImage。我有可能返回一个未初始化的变量吗?如果是这样,我需要用 nil 初始化变量:

这不是欺骗Do Optionals 默认为 nil 吗?因为这个问题谈到了 UnsafeMutablePointers,并且涉及局部变量,而该问题谈到了属性。

0 投票
1 回答
111 浏览

c - 不安全可变指针转为 UTF8 字符串

我有一个指向 C 字符串的 UnsafeMutablePointer,我想将此指针处的字节转换为 Swift 字符串,数据是 C 字符串,所以是 UTF8。

是否可以逐字节迭代直到NULL?或者更简单的方法?