Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 6.3中的Swift编译器在简单使用'+';操作人员_Swift_Xcode6.3 - Fatal编程技术网

Xcode 6.3中的Swift编译器在简单使用'+';操作人员

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

试图使用斯威夫特变得越来越可笑。我将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 : UInt8 = 3 + UInt8(passKeyData.length) + 1

您还可能希望检查值是否不超过
UInt8.max
(否则您将遇到运行时故障),或者使用
UInt8(truncatingBitPattern:x)
,如果您不介意将其向下截断以适应它。

强制转换与强制转换不同。如果这解决了您的问题,您可以通过单击旁边的检查来接受答案。