我正在尝试在我的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
。