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

swift - Swift 中的 Realloc UnsafeMutablePointer 导致错误

我正在将一些关于 C 指针的操作转换为 Swift。

我懂了

无法强制将类型的值转换UnsafeMutablePointer<Int32>为类型“UnsafeMutablePointer”(又名UnsafeMutablePointer<()>

任何想法?

0 投票
2 回答
570 浏览

ios - 将代码从 Objective-C 转换为 Swift 后测试用例失败

我正在以 Swift 风格进行一些按位运算,这些代码最初是用 Objective-C/C 编写的。我UnsafeMutablePointer用来声明内存地址的起始索引并UnsafeMutableBufferPointer用于访问范围内的元素。

您可以在此处访问原始的 Objective-C 文件。

测试用例:

有人可以指导我为什么第二个测试用例失败但objective-c版本通过吗?

编辑:正如@vacawama 提到的:如果您将 testGetNextSet 分成 2 个测试,则都通过。

Edit2:当我运行测试时xctool,调用BitArray's 的测试nextSet()会在运行时崩溃。

0 投票
2 回答
6383 浏览

ios - 如何获取 Swift 对象的 AutoreleasingUnsafeMutablePointer

我目前是我的 Swift 应用程序上传任务的owncloud iOS 库。它是用 Objective-C 编写的,需要我传递一个AutoreleasingUnsafeMutablePointer<NSProgress?>上传方法

说我像这样创建一个新对象

如何AutoreleasingUnsafeMutablePointer<NSProgress?>在 Swift 中获取此对象的?

我尝试了以下方式:

但我得到一个

EXC_BAD_ACCESS(代码=1,地址=0x15942320)

执行代码时。我想保留对进度对象的引用,因为我想添加一个观察者回调,以百分比形式告诉我上传进度(如示例链接中所示)。

0 投票
2 回答
1592 浏览

ios - 为什么我会收到 UnsafeMutablePointer 错误?

我究竟做错了什么?在此先感谢您的帮助!!

我编写了以下代码,目的是控制对我的数据库以及我试图解析其数据的外部网站的请求,以便我可以填充我的数据库。目标是生成 1000 多个请求,将它们放在堆栈上,然后限制在给定时间同时触发的请求数量。它工作得很好,但每隔一段时间它就会在这行代码上生成一个异常:

RequestManager.requests?.append(_request!)

这行代码在 Push 函数 WebRequestManager 中。你可以看到下面的代码。

致命错误:UnsafeMutablePointer.destroy 计数为负

示例请求如下所示:

这是代码:

{

}

{

}

0 投票
2 回答
435 浏览

arrays - Swift数组作为c函数缓冲区

我正在使用 swift 数组作为一个函数的输出缓冲区,该函数需要一个指针并填充它,如下所示:

这很好用,问题是编译器在抱怨Variable 'buffer' was never mutated; consider changing to 'let' constant,我不想这样做,因为我很确定它在我的填充函数中发生了变异。

那么,有没有办法让它静音呢?(我可以做一些虚拟设置,但我更愿意正确地做)。

编辑:根据要求显示问题的完整示例代码(甚至不需要 c):

但是,解决方案已经发布。最简单的形式:

0 投票
2 回答
1541 浏览

swift - 如何获取 UnsafeMutableBufferPointer来自字符数组

我正在尝试使用以下代码获取 UnsafeMutableBufferPointer 它有时在 Playground 中有效并且它也失败了

0 投票
1 回答
332 浏览

swift - Swift 中的 kAudioUnitProperty_MatrixLevels

要查询 MatrixMixer AudioUnit,请执行以下操作:

的返回值AudioUnitGetPropertykAudioUnitProperty_MatrixLevels(在文档和示例代码中定义)一个 Float32。

我正在尝试快速找到矩阵级别,并且可以毫无问题地获得矩阵维度。但我不确定如何创建一个由 Float32 元素组成的空数组,即UnsafeMutablePointer<Void>. 这是我没有成功的尝试:

在 MatrixMixerTest 中,数组的使用如下:theVols[0]

0 投票
2 回答
3039 浏览

c - Using C functions in Swift that take functions as arguments

I'm writing a wrapper around a C mathematical library. Every function takes one or two functions as arguments. However, the arguments for those child functions (as well as the parent functions) are not Swifty -hence the wrapper.

I've cleaned up the example code to just show the three main pieces: the c-library function, the desired Swift function that would be passed to the wrapper (body not shown, but wrapping around the c-library function), and the required C function form.

addition

I should add that I have access to the c source code, so I could possibly add some dummy parameters (possibly to find a way to pass context in). But given that the docs seem to indicate that one can't grab context with a c function pointer, this may be of no use.

0 投票
1 回答
1457 浏览

swift - 将字符串转换为 UnsafeMutablePointer迅速

有没有办法可以将字符串转换为UnsafeMutablePointer<UInt8>Swift 语言,避免数据丢失?

0 投票
2 回答
6799 浏览

swift - 不安全可变指针在斯威夫特 3

我正在尝试调用SecItemCopyMatching我的钥匙串实用程序类以从钥匙串中获取数据,但我在获取result参数时遇到了问题,UnsafeMutablePointer<CFTypeRef?>.

最初的声明(在 Swift 2 中,在迁移到 Swift 3 之前)是

但在 Swift 3 中,您现在需要调用.withMemoryRebound才能查看内存。根据 Xcode 告诉您的操作,我尝试了这个

然而这样做,我得到一个错误

无法将类型“ UnsafePointer<_>”的值转换为预期的参数类型“ UnsafeMutablePointer<CFTypeRef?>?

所以,我尝试使用CFTypeRef而不是Data

替换UnsafePointer($0)为简单$0会导致相同的错误消息。

如何UnsafeMutablePointer<CFTypeRef?>从钥匙串中获取数据?