我必须处理一个相当长的Int,它以字符串的形式出现。调用 Int64(String)
在64位设备上正常工作,但我在32位设备上看到崩溃。这是什么原因?将字符串转换为Int64会导致32位设备崩溃
下面是代码:
let predicateBarcode = NSPredicate(format: "barcode = %ld", Int64(searchTerm)!)
我不能告诉的搜索关键词什么,它来自条形码扫描仪,是一个EAN-13。我也不能重现崩溃,因为这只发生在我的顾客身上。
“Int64”表示32位和64位平台的64位有符号整数。所以通常我们看不到这样的行为。你能展示更多的上下文来重现这个问题吗? – OOPer
请显示您的代码和崩溃的详细信息。 – Paulw11
这真的是你使用的确切代码吗?你的代码不能用Xcode 8.3编译。即使你认为无关紧要,也不要遗漏任何东西。在崩溃时显示'searchTerm'的值。无论如何,即使在64位平台上,您的代码也不是有效的代码。 – OOPer