BLEを利用したiPhoneアプリの制作を行っています。
ある書籍を参考に制作をしていたのですが、NSDataのところで行き詰まってしまいました。
キャラクタリスティックの値をセットする際、
lang
1 // 値をセット 2 let value = arc4random_uniform(2000) 3 let data = NSData(bytes: [value], length: 1) 4 List.text=List.text+"My Machine -> \(data)\n" 5 print(value,"->",data) //デバック用 6 self.characteristic.value = data; 7
と記述したところ、valueは「arc4random_uniform()」で生成された値になっているのですが、dataは16進数変換され、一番上の桁が切り捨てられて下2桁だけが残っている状態で代入されています。(例:825[10進数] → 39[16進数])
この桁を3桁で代入したいのですが、(例:825[10進数] → 339[16進数])そのような方法はあるのでしょうか。
初心者丸出しの質問で申し訳ありませんが、ご教授願います。
■追記
NSDataにした時のバイト順序はどっちですか?リトル?ビッグ?
リトルでした。(順序についてすっかり頭から抜け落ちていました……!)
NSDataにした時のバイト順序はどっちですか?リトル?ビッグ?
回答3件
あなたの回答
tips
プレビュー