问题标签 [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.
swift - 不安全可变指针在斯威夫特 3
我正在尝试调用SecItemCopyMatching
我的钥匙串实用程序类以从钥匙串中获取数据,但我在获取result
参数时遇到了问题,UnsafeMutablePointer<CFTypeRef?>
.
最初的声明(在 Swift 2 中,在迁移到 Swift 3 之前)是
但在 Swift 3 中,您现在需要调用.withMemoryRebound
才能查看内存。根据 Xcode 告诉您的操作,我尝试了这个
然而这样做,我得到一个错误
无法将类型“
UnsafePointer<_>
”的值转换为预期的参数类型“UnsafeMutablePointer<CFTypeRef?>?
”
所以,我尝试使用CFTypeRef
而不是Data
替换UnsafePointer($0)
为简单$0
会导致相同的错误消息。
如何UnsafeMutablePointer<CFTypeRef?>
从钥匙串中获取数据?
swift - 'init' 不可用:使用 'withMemoryRebound(to:capacity:_)'
在 Swift3 之后,我在UnsafePointer
. 调试器提出的解决方案还不够清楚,无法做些什么。
我知道在 Swift 的 SQLite 项目中的 UnsafePointerUnsafePointer
问题之前的问题中提出了问题,但我正在努力将其答案与这个问题联系起来。
错误:
代码:
有谁知道如何修理它?
ios - 将 UnsafeMutablePointers 转换为 UnsafeMutableRawPointers
我有几个问题更新到 swift 3.0。我有以下代码:
我的第一个问题是代码行:
mutableData!.mutableBytes 现在返回一个 UnsafeMutableRawPointer 并且编译器抱怨“无法使用类型为 '(UnsafeMutableRawPointer)' 的参数调用类型 'UnsafeMutablePointer<_> 的初始化程序”现在我一直在尝试将它们转换为相同的类型,但已经没有成功。
我的第二个问题是这条线:
此行会导致编译器错误“模糊使用 'init'”
xcode - 在 Xcode 8 (Swift 3) 中 UnsafeMutablePointer<_> 是什么意思?
以下代码:
给出以下错误:
无法将“UnsafeMutablePointer”类型的值转换为预期的参数类型“UnsafeMutablePointer<_>”
什么是 UnsafeMutablePointer<__> 以及如何转换它?我尝试了所有我能想到的铸造变体,并且对每个变体都得到了无法理解的诊断结果,但我已经没有想法了。我发现关于各种 UnsafeMutablePointer 类型的文档没有帮助,而且根本没有提到“<_>”。
c - 在 Swift 中使用 C - strlcpy - 无法转换“UnsafeMutablePointer<_>”类型的值
我正在尝试在 Swift 3.0 中使用 strlcpy,但不断收到错误消息“无法将 'UnsafeMutablePointer<_>' 类型的值转换为预期的参数类型 'UnsafeMutablePointer!'”
这是我的代码
其中 VidyoClientInEventLogIn 是:
swift3 - swift 3 如何使用 CFArrayCreate
我想从一个数组创建一个 CFArray
以前在 Swift 2 中,我能够做到这一点:
现在在 Swift 3 CFArrayCreate 中期望UnsafeMutablePointer<UnsafeRawPointer?>!
作为第二个参数
我尝试这样做的一种方法是:
然而,这将创建 CFArray 元素为 [rawPointer, 垃圾, 垃圾, 垃圾的值] 而不是 [0, 1, 2, 3]
我将如何将这个UnsafeMutablePointer<UnsafeRawPointer?>!
参数从数组中取出?
ios - 不安全指针Swift 3 中的初始化程序
我有一个自 Swift 3 发布以来已弃用的收据验证类。我解决了一些问题,但我仍然有很多...
这是我使用的 GitHub 源代码:https ://gist.github.com/baileysh9/4386ea92b047d97c7285#file-parsing_productids-swift和https://gist.github.com/baileysh9/eddcba49d544635b3cf5
第一个错误:
/li>
编译器抛出:无法使用 UnsafeRawPointer 类型的参数列表调用 UnsafePointer(UInt8) 类型的初始化程序
第二个错误
/li>
二元运算符 < 不能应用于两个 UnsafePointer(UInt8) 操作数
非常感谢你:)
编辑
感谢 LinShiwei 的回答,我找到了 UnsafePointer 声明的解决方案。它编译但尚未测试(因为其他错误避免我测试):
swift - 如何传递 UnsafePointer通过引用到 C API?
我编写了一些 Swift 2.2 代码来与OpenSSL
C API 交互,现在我正试图将其转换为 Swift 3。
在斯威夫特 2
在 Swift 3 中,我不得不做出一些改变
不幸的是,由于这个错误,我不能再通过ptr
引用传递:ASN1_get_object
然后其余的错误被切断(没有展开箭头)。
我试过的:
- 将
ptr
分配更改为,UnsafePointer<UInt8>(octets.pointee.data)?
但随后我被告知我现有的分配已经产生了一个可选的 - 更改
UnsafePointer
为UnsafeMutablePointer
这里需要改变什么?
swift3 - 将 NSUUID 转换为 UnsafePointer
在更新到 Swift 3 之后,它同时出现getUUIDBytes
并且在对象getBytes
上不可用。UUID
即使getBytes
在文档中列为 UUID 上的方法时,我也会收到此错误:https ://developer.apple.com/reference/foundation/nsuuid/1411420-getbytes
ios - 如何将数组转换为 UnsafeMutablePointer斯威夫特 3.0?
这是我在以前版本的 Swift 中的可行代码:
在 Swift 3.0 中更改后,我必须将键和值数组转换UnsafeMutablePointer<UnsafeRawPointer?>
为创建 CFDictionary。
这边走:
给出错误访问错误。
在阅读文档后,我正在尝试编译此代码:
但无法推断出错误 通用参数“实例”出现在Unmanaged.passUnretained( array ).toOpaque()行中
我现在不知道如何以编程方式创建 CFDictionary。