我是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/