问题标签 [unsafe-pointers]

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 投票
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?>从钥匙串中获取数据?

0 投票
0 回答
188 浏览

swift - 'init' 不可用:使用 'withMemoryRebound(to:capacity:_)'

在 Swift3 之后,我在UnsafePointer. 调试器提出的解决方案还不够清楚,无法做些什么。

我知道在 Swift 的 SQLite 项目中的 UnsafePointerUnsafePointer问题之前的问题中提出了问题,但我正在努力将其答案与这个问题联系起来。

错误:

代码:

有谁知道如何修理它?

0 投票
1 回答
283 浏览

ios - 将 UnsafeMutablePointers 转换为 UnsafeMutableRawPointers

我有几个问题更新到 swift 3.0。我有以下代码:

我的第一个问题是代码行:

mutableData!.mutableBytes 现在返回一个 UnsafeMutableRawPointer 并且编译器抱怨“无法使用类型为 '(UnsafeMutableRawPointer)' 的参数调用类型 'UnsafeMutablePointer<_> 的初始化程序”现在我一直在尝试将它们转换为相同的类型,但已经没有成功。

我的第二个问题是这条线:

此行会导致编译器错误“模糊使用 'init'”

0 投票
1 回答
590 浏览

xcode - 在 Xcode 8 (Swift 3) 中 UnsafeMutablePointer<_> 是什么意思?

以下代码:

给出以下错误:

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

什么是 UnsafeMutablePointer<__> 以及如何转换它?我尝试了所有我能想到的铸造变体,并且对每个变体都得到了无法理解的诊断结果,但我已经没有想法了。我发现关于各种 UnsafeMutablePointer 类型的文档没有帮助,而且根本没有提到“<_>”。

0 投票
1 回答
427 浏览

c - 在 Swift 中使用 C - strlcpy - 无法转换“UnsafeMutablePointer<_>”类型的值

我正在尝试在 Swift 3.0 中使用 strlcpy,但不断收到错误消息“无法将 'UnsafeMutablePointer<_>' 类型的值转换为预期的参数类型 'UnsafeMutablePointer!'”

这是我的代码

其中 VidyoClientInEventLogIn 是:

0 投票
1 回答
907 浏览

swift3 - swift 3 如何使用 CFArrayCreate

我想从一个数组创建一个 CFArray

以前在 Swift 2 中,我能够做到这一点:

现在在 Swift 3 CFArrayCreate 中期望UnsafeMutablePointer<UnsafeRawPointer?>!作为第二个参数

我尝试这样做的一种方法是:

然而,这将创建 CFArray 元素为 [rawPointer, 垃圾, 垃圾, 垃圾的值] 而不是 [0, 1, 2, 3]

我将如何将这个UnsafeMutablePointer<UnsafeRawPointer?>!参数从数组中取出?

0 投票
3 回答
20198 浏览

ios - 不安全指针Swift 3 中的初始化程序

我有一个自 Swift 3 发布以来已弃用的收据验证类。我解决了一些问题,但我仍然有很多...

这是我使用的 GitHub 源代码:https ://gist.github.com/baileysh9/4386ea92b047d97c7285#file-parsing_productids-swift和https://gist.github.com/baileysh9/eddcba49d544635b3cf5

  1. 第一个错误:

    /li>

编译器抛出:无法使用 UnsafeRawPointer 类型的参数列表调用 UnsafePointer(UInt8) 类型的初始化程序

  1. 第二个错误

    /li>

二元运算符 < 不能应用于两个 UnsafePointer(UInt8) 操作数

非常感谢你:)

编辑

感谢 LinShiwei 的回答,我找到了 UnsafePointer 声明的解决方案。它编译但尚未测试(因为其他错误避免我测试):

0 投票
1 回答
606 浏览

swift - 如何传递 UnsafePointer通过引用到 C API?

我编写了一些 Swift 2.2 代码来与OpenSSLC API 交互,现在我正试图将其转换为 Swift 3。

在斯威夫特 2

在 Swift 3 中,我不得不做出一些改变

不幸的是,由于这个错误,我不能再通过ptr引用传递:ASN1_get_object

然后其余的错误被切断(没有展开箭头)。

我试过的:

  • ptr分配更改为,UnsafePointer<UInt8>(octets.pointee.data)?但随后我被告知我现有的分配已经产生了一个可选的
  • 更改UnsafePointerUnsafeMutablePointer

这里需要改变什么?

0 投票
2 回答
1593 浏览

swift3 - 将 NSUUID 转换为 UnsafePointer

在更新到 Swift 3 之后,它同时出现getUUIDBytes并且在对象getBytes上不可用。UUID

即使getBytes在文档中列为 UUID 上的方法时,我也会收到此错误:https ://developer.apple.com/reference/foundation/nsuuid/1411420-getbytes

0 投票
1 回答
6535 浏览

ios - 如何将数组转换为 UnsafeMutablePointer斯威夫特 3.0?

这是我在以前版本的 Swift 中的可行代码:

在 Swift 3.0 中更改后,我必须将键和值数组转换UnsafeMutablePointer<UnsafeRawPointer?>为创建 CFDictionary。

这边走:

给出错误访问错误。

在阅读文档后,我正在尝试编译此代码:

但无法推断出错误 通用参数“实例”出现在Unmanaged.passUnretained( array ).toOpaque()行中

我现在不知道如何以编程方式创建 CFDictionary。