簡體   English   中英

轉換數據? 在 swift 5 中包含到 Int 的字節

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

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