ios - 整数文字 '115000159351' 存储到 'Int' 时会溢出,但在一个项目中工作正常,但在另一个项目中则不然 - Swift

标签 ios swift

我有一个 zendesk for iOS 库,我使用他们给我的号码按类别对帮助台项目进行排序。这就是我告诉它我想要什么类别的方式:

        hcConfig.groupIds = [115000159351]

但是,XCODE 抛出错误

Integer literal '115000159351' overflows when stored into 'Int'

好的,我明白了。可能是因为数字超过了32位。但我制作了另一个应用程序,它有一个同样长的数字,并且构建得很好,没有错误。代码完全相同,只是数字略有不同。

    hcConfig.groupIds = [115000158052]

为什么一个项目可以构建而另一个项目却不能构建?

这里是他们的说明供引用: https://developer.zendesk.com/embeddables/docs/ios_support_sdk/help_center#filter-articles-by-category

最佳答案

Swift Int 是 32 位或 64 位整数,具体取决于平台。 要在所有平台上从 64 位文字创建 NSNumber(数组),请使用

let groupIds = [NSNumber(value: 115000159351 as Int64)]

let groupIds = [115000159351 as Int64 as NSNumber]

关于ios - 整数文字 '115000159351' 存储到 'Int' 时会溢出,但在一个项目中工作正常,但在另一个项目中则不然 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51806301/

相关文章:

ios - POST 方法产生的状态代码 400 ios

objective-c - git、国际化和 iOS 字符串文件

ios - 如何获得相机Objective-C的分辨率?

swift - 如何为 CGpath 数组的绘制设置动画?

ios - 使用标题 View 自定义导航栏

ios - 在 objective-c 的 viewDidAppear 中传递一个字符串

ios - App 在 4 英寸时认为它在 3.5 英寸 iPhone 上运行

ios - 将 objective-c block 语法转换为 swift

ios - 有没有办法在 SwiftUI 中仅针对某些 View 强制使用横向模式?

swift - 从数组中获取事件列表