首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在代码中使用泛型Int -在核心数据iOS中使用32位或64位Int?

在代码中使用泛型Int -在核心数据iOS中使用32位或64位Int?
EN

Stack Overflow用户
提问于 2016-05-05 11:59:50
回答 1查看 2.3K关注 0票数 3

我正在编写一个应用程序,它可以通过苹果的核心数据保存数据。在我的代码中,所有整数都被声明为"Int",因为这更灵活,编译器将这些Int适应于运行代码的设备。

但是,当我想使用核心数据保存这些“Int”时,我必须选择32位整数或64位整数。如果可能的话,我希望我的应用程序与iPhone5-6s兼容,因此我不愿选择32位(因为性能更好,我读到苹果在6s中移动到32位)。

有什么办法可以使代码的这一部分保持灵活性吗?如果我选择32位,如果代码在64位设备上运行,会发生什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-05 12:21:27

默认Int:

  • 关于32位器件= Int32
  • 在64位设备= Int64上(是的,它是一个Int64,只是在我的iPhone6S上测试它)

但是,Int32和Int64都将在32位设备上工作。(但Int64需要更长的时间来计算32位设备)

如果您的数字小于或等于±2.147.483.647,我建议您使用Int32。

公式:(2^(位- 1) - 1)或更小或等于±32.767的Int16

(实际上负值可以大于正值: Int32 -2.147.483.648 .2.147.483.647的范围)

如果在Int32中使用coreData,只需确保不超过此数字,并将Int 转换为?当存钱时,Int32?因为理论上它可以是一个更高的数字)

当将Int32加载到Int时总是成功的(使用:as!( Int)

如果您在Int64中使用coreData,只需将Int 转换为!当保存时,Int64 (即使在32位设备上也会成功,但可能是稍微慢一点的,但是如果不经常保存/加载它,就不会有任何问题)。

但是在加载时要小心,将表单Int64转换为Int可能会失败,因为理论上Int64可以存储更多的数据,而32位设备上的Int可以存储更多的数据(使用作为?( Int以防止可能的崩溃)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37050041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档