在我的类中,我定义了一个默认端口,如下所示:
private let DEFAULT_PORT: UInt16 = UInt16(47300)(我也试过了:private let DEFAULT_PORT: UInt16 = 47300 )
这应该是完全可以的,因为UInt16的最大数量是65'535。
但是,应用程序在一种方法中崩溃,调试器显示DEFAULT_PORT等于-18326。
这怎麽可能?会不会是Swift中的一个bug?我一点都不知道。
发布于 2016-07-20 17:10:35
好吧,我做了更多的调查。我的问题与DEFAULT_PORT的价值无关。
关于调试器中的负值,在我看来,它像是Xcode中的错误,而不是Swift中的错误。我做了一些测试,Swift使用正确的值执行所有操作。
为了重现,任何人都可以在AppDelegate中定义private let DEFAULT_PORT: UInt16 = UInt16(47300),并在didFinishLaunchingWithOptions中设置断点。然后,您应该在调试器中看到-18326作为值。
https://stackoverflow.com/questions/38436935
复制相似问题