问题标签 [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 投票
0 回答
874 浏览

ios - 快速错误:无法转换“UnsafeMutablePointer”类型的值?到预期的参数类型'UnsafeMutablePointer

我正在开发Xcode 10 iOS 项目。我试图从 Swift 中调用一个 C 语言函数,它以指针为参数。

c函数如下,

压缩.h文件

我正在尝试从MyClassfile.swift调用此方法

来自 xcode 的预期输入如下

因为第一个参数的输入是可选类​​型,如“ UnsafeMutablePointer< Int32>!

我试图将数组转换为 UnsafeMutablePointer 类型

代码如下,

但输入参数需要一个可选类型,方法调用如下

编译时我收到上述代码的错误,“无法转换'UnsafeMutablePointer'类型的值?' 到预期的参数类型'UnsafeMutablePointer?'”

非常感谢任何帮助。

提前致谢。

让我知道是否需要任何澄清

0 投票
1 回答
736 浏览

ios - 'UnsafeMutableRawPointer' 类型的值没有下标 Swift 5

我正在尝试将目标 c 代码转换为 swift。

当我快速转换它时,它返回“UnsafeMutableRawPointer”。我需要 UInt8。

我尝试了不同的解决方案,但对我没有用。谁能告诉我如何解决这个问题。谢谢

“UnsafeMutableRawPointer”类型的值没有下标

在此处输入图像描述

SWIFT代码。

目标 C 代码。

0 投票
2 回答
434 浏览

ios - 如何在图像像素上应用 CIFilter

我知道可以使用像素缓冲区更改像素的颜色,如下面的代码所示,但我只想使用“CIFilter”模糊像素而不是更改颜色。我不想在整个图像上应用“CIFilter”。

我们也可以使用下面的代码在像素上应用 CIFilter 吗?

0 投票
1 回答
128 浏览

swift - 通过 UnsafeMutableRawPointer 导出 SwiftUI 视图

我想以 SwiftUIText视图的形式返回一个UnsafeMutableRawPointer,遵守 C 调用约定,以便另一种语言可以 FFI 进入它以供使用。

但我收到以下错误:

如何获取 SwiftUIText对象的底层指针?

0 投票
1 回答
421 浏览

swift - 有时方法会因致命错误而失败:UnsafeMutablePointer.initialize 重叠范围

我有以下代码可以在 Swift 5 中将一些解压Data缩回 a String。该方法大部分工作正常,但有时会失败并显示以下错误消息:

Thread 1: Fatal error: UnsafeMutablePointer.initialize overlapping range

错误发生在以下行:

有人可以解释为什么这(有时)会失败吗?

0 投票
1 回答
932 浏览

c - 如何将 Swift 对象用作 UnsafeMutablePointer到 C 函数

有一个C结构:

还有一个 C 函数使用这个结构作为双指针参数:

我想将任何 Swift 类或对象传递给这个函数以使用它的功能。然而 Swift 端的 C 函数只接受 UnsafeMutablePointer 作为参数:

即使我解除分配指针,代码也总是会产生一些内存错误。我的主要问题是如何将对象作为 UnsafeMutablePointer 添加到上面这样的 C 函数中?

我检查了这些来源(但没有运气):

我得到的错误是:

感谢您的回答、反馈,尤其是您提前提供的时间。

0 投票
1 回答
90 浏览

swift - 有没有办法在低级 C 方法调用中使用 Swift 命令?

我正在维护一组从AVCaptureSynchronizedData. 我使用的一种方法修改了CVPixelBuffersAVCaptureSynchronizedData. 修改时。,我创建了一个viaCVPixelBuffer的副本CVPixelBuffer

releaseCallBack引用为

但是,我希望能够跟上这被调用的次数。但是,如果我添加类似

我得到错误

AC 函数指针不能由捕获上下文的闭包形成

不确定是否可能,但是能够计算指针被销毁的次数将非常有用

0 投票
1 回答
374 浏览

ios - 如何修复“无法转换 'UnsafeMutablePointer' 类型的值”错误?

我正在尝试为 Swift iOS 应用程序生成和获取密钥对信息,并且在设置时遇到UnsafeMutablePointer以下错误:

无法将“UnsafeMutablePointer<_>”类型的值转换为预期的参数类型“UnsafeMutablePointer<CFTypeRef?>?” (又名'可选<UnsafeMutablePointer<可选<AnyObject>>>')

我正在尝试利用以下 StackOverflow 讨论来使其正常工作: Generate a CSR in iOS Library?

我的问题是如何明确设置值来纠正这个错误?

以下是我尝试使用的以下代码:

0 投票
1 回答
55 浏览

c - 将 UnsafeMutablePointer 转换为数组会给出错误的值

我正在使用 Swift,我应该将 C 源代码与 Bridging-Header 一起使用。

C 源代码有这样的功能。

v1 的值为 [4, 5, 6, 7, 0, 0, 0...]

我输入这样的数据

地址值等于 (char*)v1 和 tf2。

但是当我将 tf2(UnsafeMutablePointer) 转换为 Array 时,

值不同。

我是这样转换的

当我直接返回输入(参数)时,转换后的值是正确的。

但是当我在 C 源代码中做某事并返回值时,

转换后的值与 C 源中的返回值不正确。

我在这个问题上浪费了大约 10 天的时间......

我能怎么做.....?

0 投票
1 回答
217 浏览

swift - Swift 中的可变 C 字符串

我正在编写与 C 库接口的 Swift 代码。该库公开了一个不完整的结构,我将其包装在一个 Swift 类中。这个结构的初始化函数接受一个char*参数,或者UnsafeMutablePointer<UInt8>在 Swift 中。该库不提供稍后分配不同指针的方法。

我试图弄清楚如何获得UnsafeMutablePointer<UInt8>一个 Swift 字符串,有两个主要要求。首先,字符串应该是可变的而不改变指针。其次,指针(和字符串)的生命周期应该与包装对象的生命周期一样长。

这可能吗?如果可以,怎么做?