
[code]

    uint8_t*    buf = (uint8_t*)[characteristic.value bytes];
    _textField.text = [NSString stringWithFormat:@"%d", buf[0]];
    
[/code]

こちらのObjective-CのコードをSwiftで書きたいのですがうまく書く書き方がわかりません。  
教えていただけると嬉しいです


CC BY-SA 3.0
2015-07-22T08:32:30.503
12571
2015-07-22T09:18:24.903
9729
question
objective-c swift bluetooth
Swiftでのuint8_tのcastの方法がわかりません


次のように書くか

[code]

    var data = characteristic.value
    var bytes = [UInt8](count:data.length, repeatedValue:0)
    data.getBytes(&bytes, length:data.length)
    textField.text = "\(bytes[0])"
    
[/code]

または、下記のほうが元のObjective-Cのコードにより近いかもしれません。

[code]

    var data = characteristic.value
    let ptr = UnsafePointer<UInt8>(characteristic.value.bytes)
    let bytes = UnsafeBufferPointer<UInt8>(start:ptr, count:data.length)
    textField.text = "\(bytes[0])"
    
[/code]


CC BY-SA 3.0
2015-07-22T09:18:24.903
12572
2015-07-22T09:18:24.903
5519
12571
answer