我必須處理一個相當長的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