我是iOS开发的新手,我很难理解以下内容。

在具有Yosemite 10.10.2和Xcode 6.1.1的MacBook Pro上,我具有以下代码:

let unixDateString = "1419382818000"
println(unixDateString.toInt()!)


当我在模拟器上运行此代码时,以上以及包括iPhone 5S在内的任何设备均可按预期工作(不会崩溃)。

但是对于iphone5和iphone 4S,程序崩溃了,调试器告诉我unixDateString.toInt()的值为nil。它还会在ipad2和ipad视网膜上崩溃,但不会在ipad air上崩溃。

这是怎么回事 ?

最佳答案

iPhone5及以下版本是32位设备,因此Int是32位,并且您的字符串太大而不能容纳在Int中,因此toInt失败并返回nil

关于ios - 带有可选和类型转换的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27634859/

10-09 02:17