[英]Convert Data? containing bytes to Int in swift 5
我從 iOS 上的 ble 外設的一個特性中讀取了一些數據,當我嘗試打印它們時,它只顯示 2 個字節。 查看類型它是一個可選的數據類型(數據?)。
我的問題是,將該值轉換為可讀整數,swift 5 中最快的最佳實踐是什么?
如果我嘗試打印特性值,它只會顯示“2 個字節”。 features.value 是可選的數據類型。
switch characteristic.uuid:
case accelerometerUUID:
if characteristic.value != nil {
let accelValue = ???
print(accelValue)
}
非常感謝!
嘗試這個:
guard let value = characteristic.value else { return } // This makes it non-optional
let stringInt = String(data: value, encoding: .utf8)
let yourNumber = Int(stringInt)
這比下面的例子安全得多。 上面的應該是首選。
在一行代碼中:
let yourNumber = Int(String(data: characteristic.value!, encoding: .utf8))
這是不安全的,因為您正在解開一個可能是可選的值,這可能會導致崩潰。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.