在MacOS上,如果您这样做:
import Foundation
let x = Int32(1) as? NSNumber
x为非零。
在Ubuntu Linux上,如果您执行相同操作(即使在Swift 3.1.1中也是如此),则x为零。
我是在做错什么,还是这仅仅是缺少在Ubuntu / Linux上使用Swift基金会将数字类型桥接到NSNumber的事实?
另请参阅是否可以将(U)Int8 / 16/32/64类型的Swifts自动数值桥接到Foundation(NSNumber)?和https://github.com/SwiftyJSON/SwiftyJSON/issues/745
NSNumber
在Linux上没有自动桥接。资料来源:NSNumber桥接和数字类型:
Linux平台注意事项
我们在Linux上没有桥接,因此
as?
强制转换不太重要。但是如果要桥接的话,这将是理想的功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句