问题标签 [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 回答
542 浏览

ios - NSMutableData 的字节到 UnsafeMutableRawPointer 不更新 mutableData 的值

我有一个结构对象。还有一个方法,它的输入是有效载荷。现在我正在创建一个名为 的 mutableData packet,它的可变字节指的是 ICMPHeader 结构。

可变字节已成功绑定到 struct,并且值也在 struct 中更新ICMPHeader

问题是更改 struct 中的值不会更改 mutable data 的值packet

如果,我试图在创建结构后重新创建数据包,那么它就会崩溃。

0 投票
0 回答
335 浏览

swift - 斯威夫特 3 UnsafeMutablePointer移民

试图将我的代码迁移到 Swift 3,但我似乎无法解决这个问题。需要一些帮助!

我有这个音频缓冲区和一个指向它的通道数据的指针......就像这样

现在我需要将此指针交给一个 C 库函数,该函数会进行一些重采样。

这个函数需要一个指向 UInt8 元素数组的 UInt8 指针,像这样......

在 Swift 3 之前,我刚刚成功使用了这段代码。

但这在 Swift 3 中不起作用。

如何在 Swift 3 中引用这块内存以便 C 库函数接受它?

我真的不明白 Swift 3 文档中的解释。

请帮助/约根

0 投票
1 回答
1645 浏览

swift - 不安全可变指针到 UnsafeMutablePointer<_>

我真的为一个愚蠢且看似简单的问题而发疯......我必须将 a 转换DataAVAudioPCMBuffer.

看着这个问题似乎很容易,但是 Swift 3 改变了一切。这种被诅咒的语言不断变化(抱歉爆发)!

我有这段代码

但是最后一行给了我这个错误:

有人可以解决这个问题吗?

0 投票
2 回答
2974 浏览

swift - 如何将 UnsafePointer<[Float]> 或将浮点数组数据转换为 Unsafe[Mutable]Pointer在斯威夫特 3 中?

我有一个来自 HDF5 文件的浮点值 () 数组floatArray,我想将此数据用作接受 Unsafe[Mutable]Pointer ( inputForFunction) 的函数的输入。我是 UnsafePointer 的新手,所以我需要别人的帮助。

我想到的一种方法是将数组存储到文件中,然后打开它并将文件描述符映射到变量的内存以用于函数的输入:

但是,它可能不是最好的实现,因为存储数据的过程似乎很耗时。

这就是为什么我正在考虑使用 UnsafePointer 将指针从floatArrayto传递inputForFunction,但我不确定如何实现它。仅供参考,我正在考虑的一种方法是withUnsafePointer直接使用方法:

或者另一种方法是使用withMemoryRebound(但以下方法不起作用):

我的问题是

  • 如何将floatArray数据的地址传递给inputForFunction
  • 如果我需要从 UnsafePointer<[Float]> 转换为 Unsafe[Mutable]Pointer,该怎么做?
  • 如果需要,如何withMemoryRebound用于此目的?我可以将地址/值分配给inputForFunction闭包内部吗?
  • 当我检查 and 的地址时floatArrayfloatArray[0]它们是不同的(这似乎与 C/C++ 不同)。应该传递到哪个地址inputForFunction
0 投票
0 回答
437 浏览

swift - 带结构的 UnsafeMutablePointer

我无法使用 UnsafeMutablePointer 来引用 Swift 中的 Struct 变量。看看这个游乐场的例子:

输出是 [] 而我期望 [1]。我错过了什么?

奖励问题:我应该在使用后明确取消初始化指针吗?

0 投票
1 回答
513 浏览

ios - 在swift 3的函数中将UnsafeMutablePointer传递给Ref Object

我正在快速开发一个 pdf 解析器,所以我偶然发现了函数 CGPDFScannerPopString,它需要一个 CGPDFScannerRef 和一个 UnsafeMutablePointer?

Objective C 代码如下所示:

我如何在 swift 3 中写这个?

0 投票
3 回答
1998 浏览

ios - Objective-C 指针和 swift

我正在关注一个苹果文档,但不幸的是示例是在objective-c上编写的,但是我对Swift语言有信心,并且无法理解某些东西的含义,特别是在这个示例中:

这一行:RunLoopSource* obj = (RunLoopSource*)info;

参数:void *info表示info是一个指向void的指针,那么我可以放任何类型的数据结构的地址,下面我看到各种苹果文档this:翻译void *info成swift语言是:

现在,该RunLoopSource* obj = (RunLoopSource*)info;行表明 obj 是一个类型为 RunLoopSource 的变量,并为此分配了 的值(RunLoopSource *) info,但确切地说,这个语句是什么意思?: (RunLoopSource *) info,以及它是如何翻译成 swift 语言的?

0 投票
1 回答
556 浏览

swift3 - AURenderCallback 中的 UnsafeMutablePointer

我不明白,我应该如何UnsafeMutablePointer在 Swift 3 中使用。尤其是在AURenderCallback.

我尝试下面的代码:


但是这行代码

不管用。如何将此行翻译成 Swift 3?

请帮我。

0 投票
2 回答
319 浏览

swift - 如何在 Swift 3 中将字典表示为 NSValue?

我有以下字典:

我需要将其存储为 NSData 变量,为此必须首先将其转换为 NSValue,我尝试按以下方式进行操作:

只遇到错误:

无法将“Void”(又名“()”)类型的值转换为指定类型“NSValue”

我已经看到建议使用的 SO 答案:

但这也会产生错误:

类型 'UnsafeMutablePointer<_>' 没有成员 'load'

那么,如何在 Swift 3 中将字典转换为 NSValue 呢?

0 投票
0 回答
182 浏览

ios - 无法将“AES”类型的值转换为预期的参数类型“UnsafeRawPointer?”

我对这段代码有一些问题:

现在告诉我这个错误: