Ios 整数文字在存储到“Int”错误时溢出

Ios 整数文字在存储到“Int”错误时溢出,ios,swift,Ios,Swift,当我归档项目时,会收到一条错误消息。如何修复它 static let litersPerUSGallon = NSDecimalNumber(mantissa:UInt64(3785411784), exponent: -9, isNegative:false) static let litersPerImperialGallon = NSDecimalNumber(mantissa:UInt64(454609), exponent: -5, isNegative:false) static l

当我归档项目时,会收到一条错误消息。如何修复它

static let litersPerUSGallon = NSDecimalNumber(mantissa:UInt64(3785411784), exponent: -9, isNegative:false)
static let litersPerImperialGallon = NSDecimalNumber(mantissa:UInt64(454609), exponent: -5, isNegative:false)
static let kilometersPerStatuteMile = NSDecimalNumber(mantissa:UInt64(1609344), exponent: -6, isNegative:false)
static let kilometersPerLiterToMilesPerUSGallon = NSDecimalNumber(mantissa:UInt64(2352145833), exponent: -9, isNegative:false)
static let kilometersPerLiterToMilesPerImperialGallon = NSDecimalNumber(mantissa:UInt64(2737067636), exponent: -9, isNegative:false)
static let litersPer100KilometersToMilesPer10KUSGallon = NSDecimalNumber(mantissa:UInt64(425170068027), exponent: -10, isNegative:false)
static let litersPer100KilometersToMilesPer10KImperialGallon = NSDecimalNumber(mantissa:UInt64(353982300885), exponent: -10, isNegative:false)

在归档期间,将针对以下所有体系结构编译代码: 在“体系结构”下的“生成设置”中配置

在32位iOS平台上,Int是一个32位有符号整数,不能 保留值3785411784。编译器似乎无法推断 在此上下文中,整数文本的类型为UInt64

但解决方案很简单:只需省略UInt64构造函数。 尾数:参数的类型为UInt64,且为整数 即使在32位平台上,literal也被正确地视为64位数字

NSDecimalNumber(mantissa:3785411784, exponent: -9, isNegative:false)

在归档期间,将针对以下所有体系结构编译代码: 在“体系结构”下的“生成设置”中配置

在32位iOS平台上,Int是一个32位有符号整数,不能 保留值3785411784。编译器似乎无法推断 在此上下文中,整数文本的类型为UInt64

但解决方案很简单:只需省略UInt64构造函数。 尾数:参数的类型为UInt64,且为整数 即使在32位平台上,literal也被正确地视为64位数字

NSDecimalNumber(mantissa:3785411784, exponent: -9, isNegative:false)
您可以使用以下代码将类型设置为UInt64:

let myInt:UInt64 = 12345
您可以使用以下代码将类型设置为UInt64:

let myInt:UInt64 = 12345

仅当我将存档项目发送到AppStore时,才会弹出此错误。有关此错误消息的更一般回答,请参见此处:仅当我将存档项目发送到AppStore时,才会弹出此错误。有关此错误消息的更一般回答,请参见此处: