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

该库随附的示例为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

10-08 05:32