データ型に値が格納されています。
debugPrint("/(batteryLevel as NSData)"
私は以下を取得します:<05>
この結果でスイッチを作成したいと思います。
NSDataまたはData Swiftを使用したスイッチ3
ですが、エラーになります。 「<」は無効です。 したがって、値が< 05>それが充電しているとき、<4>重要な場合は、どんな指導も訴えるでしょう。 ありがとうございます。
データ型に値が格納されています。
debugPrint("/(batteryLevel as NSData)"
私は以下を取得します:<05>
この結果でスイッチを作成したいと思います。
NSDataまたはData Swiftを使用したスイッチ3
ですが、エラーになります。 「<」は無効です。 したがって、値が< 05>それが充電しているとき、<4>重要な場合は、どんな指導も訴えるでしょう。 ありがとうございます。
Swiftのswitch文では、String、Ints、Tuplesを使用することができます。また、値バインディングやwhere文を使用することもできます。 AFAIK、<05>
で書き込もうとしたようなリテラルなNSData型はありません。それがエラーを投げているのです。
また、NSDataを印刷しました。これは、NSDataを印刷可能な形式に「文字列化」します。なぜなら、switch文でこれを照合できると思うからです。
私の提案は、NSDataをStringまたはInt(あなたのケースはIntに適しているようです)に変換し、それにマッチさせることです。
var batteryInt: Int = 0
let batteryData:NSData = BluejayManager.shared.batteryStatus as! NSData
batteryData.getBytes(&batteryInt, length: MemoryLayout<Int>.size)
switch batteryInt {
case 5 : print("yes!")
default: print("nope!")
}