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

objective-c - 将 UnsafeMutablePointer 传递给函数时出错

我是使用 swift 的 ios 开发人员。我正在使用 sdk 与 ip camera 通信,从中检索数据,并将其显示给用户。我有一个随 sdk 一起提供的项目,它是用 obj c 编写的,并且可以正常工作。问题是我无法从函数将参数传递给预期的参数类型。SDK 非常旧,我使用静态库和桥接头集成它,我能够成功连接到相机。我认为 sdk 是用 c 或 c++ 编写的,我基本上在参数转换方面遇到了问题。

fos.h

.

目标 C 函数,当前工作

.

fos.h 中的方法签名

.

从objective-c调用它时

.

从swift调用它时

.

错误是数据参数,确切地说:

.

我尝试将数据声明更改为此,但它给了我这个错误

.

这个指针的东西有点复杂,但我能够将我的设备与相机配对,使用的方法也使用了 unsafeMutablePointers。但是,我无法弄清楚如何将这个 empy 数据对象传递给函数。

SDK 已过时且文档不完整,这无济于事。无论如何,我需要让它工作。希望能得到一些帮助,谢谢码农!.

编辑,感谢 OOPer 。这是swift中的更新版本,实际上会产生意外错误。从函数返回的结果现在是 0,所以它是正确的。但是,尝试访问原始 FosdedData 结构时,我有一个Command failed 由于 signal: Segmentation fault: 11。我怎么能解决这个问题?对不起,很长的问题,我想准确。

0 投票
0 回答
418 浏览

swift - 如何将 iPhone 麦克风中的音频作为缓冲区传递

我正在尝试将从 iPhone 麦克风录制的音频发送到网络摄像机。我有一个 sdk(用 c 编写)以便与相机通信,这是我需要传递数据的函数。我们正在谈论发送实时音频。

这是Swift签名(我目前正在使用 swift )

如何从 iPhone 麦克风录制音频并将音频缓冲区正确传递给 sendTalkData?提前感谢您的任何澄清/帮助。

编辑

我管理了如何使用AVFoundationAVCaptureAudioDataOutputSampleBufferDelegate函数获取音频缓冲区,从中我获得了一个样本缓冲区。但是,我的实现不起作用。我注意到的一件事是将长度参数传递给 sendTalkFunction 时应用程序崩溃。例如,如果我将 Int32(1) 作为长度传递,应用程序不会崩溃,但是传递 Int32(1) 没有任何意义。

这段代码对我有很大帮助,但是它有点旧,所以我需要重新编辑http://timestocomemobile.com/2014/10/swift-data-to-c-pointer-and-back-。 html

AVCaptureSessions 正在正确启动,我可以看到每 tot 毫秒收集一次 sampleBuffers。我只需要正确填充函数参数并使这些音频缓冲区在网络摄像机上播放

0 投票
1 回答
12461 浏览

swift - 如何在 swift 4 中使用 UnsafeMutablePointer

Objective-c 有一个指向指针的概念。如果您取消引用第一个指针,您可以访问原始指针

当它被桥接到 Swift 3 时,它变成了一个 UnsafeMutablePointer

但是,从 Swift 4 开始,这种行为已经改变,并且 memory 属性不再可用。

makeFive(_:) 函数的 swift 4 等效项是什么?

更新感谢 Hamish,我现在知道“内存”已重命名为指针。

0 投票
1 回答
1324 浏览

ios - swift3 中的 SecKeyRawSign 和 SecKeyRawVerify

我有一个字符串。我想在 swift3 中使用 SecKeyRawSign 和 SecKeyRawVerify。我正在使用 Xcode 8.3.3

编辑:我将返回的数据从 signString 方法传递给 verifyString 方法。我无法获得我之前签署的字符串。

但我可以验证,如果我在下面的方法中传递相同的字符串。

0 投票
1 回答
1567 浏览

swift - Swift UnsafeMutablePointer:我必须在释放之前调用 deinitialize 吗?

给定一个实例,在此之前UnsafeMutablePointer调用有什么意义?deinitialize(count:)deallocate(capacity:)

你不能打电话deallocate(capacity:)吗?


我在阅读raywenderlich.com上的文章Unsafe Swift: Using Pointers And Interacting With C的“使用类型指针”部分时看到了这一点。

本文包含以下代码,您可以将其添加到 Xcode 中的新 Playground 中。

0 投票
4 回答
137 浏览

swift - 为什么 let 声明的结构可以更改?

在下面的代码中,'ptr' 是一个由 let 声明的结构体,但是它的成员变量 'pointee' 可以改变,为什么?
let ptr = UnsafeMutablePointer<Int>.allocate(capacity:1) ptr.pointee = 1

0 投票
1 回答
230 浏览

swift - 为什么 vDSP_maxv 找不到向量中的最大值?

vDSP_maxv没有在下面的代码中分配最大值output

我希望最后一行 print 2,但它每次都打印不同的东西,通常是一个非常大或小的数字,比如2.8026e-45

我已经阅读了本教程文档和头文件中的内联文档vDSP_maxv,但我不明白为什么下面的代码没有产生预期的结果。

制作numbersanUnsafePointer而不是 anUnsafeMutablePointer没有用,我尝试过的其他一些事情也没有,所以也许我错过了一些基本的东西。

0 投票
1 回答
793 浏览

ios - 如何在 Swift 中打印指针内容

我正在尝试打印原始指针指向的指针的内容,但是当我打印或 NSLog 时,我得到的指针值比指针指向的内存内容要多。如何打印指针指向的内存内容?下面是我的代码:

0 投票
1 回答
81 浏览

swift - 在 UnsafePointer 写入值

据我了解, UnsafePointer 将指针表示为不可变,而 UnsafeMutablePointer 将指针表示为可变。但是 vDSP 函数vDSP_zrvmul的签名如下:

__C应该是输出向量,但它不是可变的……我错过了什么?谢谢阅读。

0 投票
1 回答
1306 浏览

ios - 无法分配类型“UnsafeMutableRawPointer!”的值 输入“UIView”

我正在尝试将 Objective-C 源代码转换为 Swift。

在 Objective-C 中,下面的代码

哪里myViewUIView

我正在使用一个库,函数如下所示,

它返回地址。

我正在尝试转换为 Swift

得到错误: -Cannot assign value of type 'UnsafeMutableRawPointer!' to type 'UIView'

如何解决这个问题。