[英]Objective-C to Swift, pointer conversion
我正在嘗試在我的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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.