Ios Int64会增加内存使用率并在32位设备上崩溃
我对32位设备上的Int64有一个非常奇怪的问题。示例代码:Ios Int64会增加内存使用率并在32位设备上崩溃,ios,swift,Ios,Swift,我对32位设备上的Int64有一个非常奇怪的问题。示例代码: for i in 0...fromLogEntries.count - 1 { if let entryInputID = fromLogEntries[i].inputId?.int64Value { if ( entryInputID == inputID ) { logEntryToReturn = fromLogEntries[i]
for i in 0...fromLogEntries.count - 1 {
if let entryInputID = fromLogEntries[i].inputId?.int64Value {
if ( entryInputID == inputID ) {
logEntryToReturn = fromLogEntries[i]
indexToRemove = i
break
}
}
}
inputID是托管对象的属性,在模型中设置为Int64
@NSManaged public var inputId: NSNumber?
转换为Int64会导致内存从100mb变为500-600并崩溃。在64位设备上,根本没有问题,也没有内存增加。转换这一点需要时间,因为使用多部分api发送图像很容易,而且耗时较少。像您这样的声音会隔离哪一行会引起麻烦。您是如何确定问题出在转换上的?如果让entryInputID=fromLogEntries[i].inputId?.int64Value这是行。如果我评论一下就可以了。仪器分配显示其编号。。或者类似于疯狂分配的东西快速修复方法是在外循环周围使用自动释放池,这样您就不会永远分配NSNumber对象:转换需要时间,使用多部分api发送图像很容易,而且消耗的时间更少像您这样的声音隔离哪一行会引起麻烦。您是如何确定问题出在转换上的?如果让entryInputID=fromLogEntries[i].inputId?.int64Value这是行。如果我评论一下就可以了。仪器分配显示其编号。。或者类似于疯狂分配的东西快速修复方法是在外部循环周围使用自动释放池,这样您就不会一直分配NSNumber对象: