簡體   English   中英

從Objective-C到Swift,指針轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM