Linux 与开源Swift发行版相比,Xcode中NSNumber(值:)的行为
使用值Linux 与开源Swift发行版相比,Xcode中NSNumber(值:)的行为,linux,swift,swift3,xcode8,ibm-swift-sandbox,Linux,Swift,Swift3,Xcode8,Ibm Swift Sandbox,使用值UInt8.max构造一个NSNumber,在Xcode 8中产生的结果与在Linux上使用开源版本Swift 3.0时不同 代码8: print(NSNumber(value: UInt8.max)) // 255 (__NSCFNumber = Int16(255)) Linux上的Swift 3.0: print(NSNumber(value: UInt8.max)) // -1 这是故意的吗?我希望两个Swift分布上的值都等于255 正如Martin在评论中写到的,这似乎是
UInt8.max
构造一个NSNumber
,在Xcode 8中产生的结果与在Linux上使用开源版本Swift 3.0时不同
代码8:
print(NSNumber(value: UInt8.max)) // 255 (__NSCFNumber = Int16(255))
Linux上的Swift 3.0:
print(NSNumber(value: UInt8.max)) // -1
这是故意的吗?我希望两个Swift分布上的值都等于255
正如Martin在评论中写到的,这似乎是Swift解释器的一个bug:是这个bug吗?@MartinR Good eye,看起来像