gpt4 book ai didi

Objective-C 到 Swift,指针转换

转载 作者:行者123 更新时间:2023-11-30 10:22:12 26 4
gpt4 key购买 nike

我正在尝试将 Objective-C 库 ORSSerialPort 实现到我的 Swift 项目中。

随库提供的示例为 ORSSerialPortManager 类提供了以下设置:

ORSSerialPortManager *portManager = [ORSSerialPortManager sharedSerialPortManager];

像这样的东西应该无法取代它在 Swift 中的位置吗?

ORSSerialPortManager = ORSSerialPortManager.sharedSerialPortManager()

也许指针是这样的?

ORSSerialPortManager = withUnsafePointer(&ORSSerialPortManager, ORSSerialPortManager.sharedSerialPortManager())

我收到错误:“无法分配给该表达式的结果”和“顶层不允许使用表达式”。需要改变什么?

最佳答案

你的表情:

ORSSerialPortManager = ORSSerialPortManager.sharedSerialPortManager()

正在尝试分配类型名称(ORSSerialPortManager)。这就是“无法分配给该表达式的结果”错误的原因;表达式 ORSSerialPortManager 不可分配。相反,您想要分配一个新的变量名称:

let aPortManager = ORSSerialPortManager.sharedSerialPortManager()

或者,如果您想要一个非常量的引用:

var aPortManager = ORSSerialPortManager.sharedSerialPortManager()

你也可以在变量上加上类型注解,但这里不需要(可以从方法签名中推导出来):

var aPortManager : ORSSerialPortManager = ORSSerialPortManager.sharedSerialPortManager()

请注意名称上类型顺序的变化:name : Type 而不是 Type name

关于Objective-C 到 Swift,指针转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com