Xcode 6.3中的Swift编译器在简单使用'+';操作人员
试图使用斯威夫特变得越来越可笑。我将Xcode从6.2更新到6.3,现在编译器抱怨简单的添加。源行如下所示,其中PasskyData是NSData项:Xcode 6.3中的Swift编译器在简单使用'+';操作人员,swift,xcode6.3,Swift,Xcode6.3,试图使用斯威夫特变得越来越可笑。我将Xcode从6.2更新到6.3,现在编译器抱怨简单的添加。源行如下所示,其中PasskyData是NSData项: let u8Value : UInt8 = 3 + passKeyData.length as UInt8 + 1 斯威夫特抱怨“对“+”运算符的使用含糊不清” 这是一条有点误导性的错误消息,但是 NSData.length返回一个Int,不能使用as将Int值转换为UInt8。您需要显式构造一个UInt8,如下所示: let u8Value
let u8Value : UInt8 = 3 + passKeyData.length as UInt8 + 1
斯威夫特抱怨“对“+”运算符的使用含糊不清” 这是一条有点误导性的错误消息,但是
NSData.length
返回一个Int
,不能使用as
将Int
值转换为UInt8
。您需要显式构造一个UInt8
,如下所示:
let u8Value : UInt8 = 3 + UInt8(passKeyData.length) + 1
您还可能希望检查值是否不超过
UInt8.max
(否则您将遇到运行时故障),或者使用UInt8(truncatingBitPattern:x)
,如果您不介意将其向下截断以适应它。强制转换与强制转换不同。如果这解决了您的问题,您可以通过单击旁边的检查来接受答案。