-1

Swift を使おうとするのはばかげています。Xcode を 6.2 から 6.3 に更新しましたが、コンパイラは単純な追加について不平を言っています。ソース行は次のとおりです。ここで、passKeyData は NSData アイテムです。

let u8Value : UInt8 = 3 + passKeyData.length as UInt8 + 1

Swift は、「'+' 演算子のあいまいな使用」について不平を言っています。

4

1 に答える 1

1

少し誤解を招くエラーメッセージですが...

NSData.lengthを返し、値からusingにInt変換することはできません。次のように明示的に構築する必要があります。IntUInt8asUInt8

let u8Value : UInt8 = 3 + UInt8(passKeyData.length) + 1

また、値が超えていないことを確認するかUInt8.max(さもなければ実行時エラーが発生します)、UInt8(truncatingBitPattern: x)収まるように切り捨てても構わない場合は を使用することもできます。

于 2015-04-13T19:04:51.290 に答える