【发布时间】:2017-08-07 04:26:05
【问题描述】:
我必须处理一个相当长的 Int,它以字符串的形式出现。打电话
Int64(String) 在 64 位设备上运行良好,但我在 32 位设备上看到崩溃。这是什么原因?
代码如下:
let predicateBarcode = NSPredicate(format: "barcode = %ld", Int64(searchTerm)!)
我无法说出有关搜索词的任何信息,它来自条形码扫描仪并且是 ean-13。我也无法重现崩溃,因为这只会发生在我的客户身上。
【问题讨论】:
-
Int64表示 32 位和 64 位平台的 64 位有符号整数。所以,通常我们看不到这样的行为。您能否提供更多上下文来重现该问题? -
请显示您的代码和崩溃的详细信息。
-
这真的是您使用的确切代码吗?您的代码无法使用 Xcode 8.3 编译。请不要遗漏任何内容,即使您认为无关紧要。并在崩溃时显示
searchTerm的值。无论如何,即使在 64 位平台上,您的代码也不是有效代码。