Swift を使おうとするのはばかげています。Xcode を 6.2 から 6.3 に更新しましたが、コンパイラは単純な追加について不平を言っています。ソース行は次のとおりです。ここで、passKeyData は NSData アイテムです。
let u8Value : UInt8 = 3 + passKeyData.length as UInt8 + 1
Swift は、「'+' 演算子のあいまいな使用」について不平を言っています。
少し誤解を招くエラーメッセージですが...
NSData.length
を返し、値からusingにInt
変換することはできません。次のように明示的に構築する必要があります。Int
UInt8
as
UInt8
let u8Value : UInt8 = 3 + UInt8(passKeyData.length) + 1
また、値が超えていないことを確認するかUInt8.max
(さもなければ実行時エラーが発生します)、UInt8(truncatingBitPattern: x)
収まるように切り捨てても構わない場合は を使用することもできます。