在代码中使用通用 Int - 在 Core Data iOS 中使用 32 位或 64 位 Int?

2024-04-18

我正在用 swift 编写一个应用程序,通过苹果的核心数据保存其数据。在我的代码中,所有整数都被声明为“Int”,因为这样更灵活,并且编译器会根据代码运行的设备调整这些整数。

但是,当我想使用核心数据保存这些“Int”时,我必须选择 32 位或 64 位整数。如果可能的话,我希望我的应用程序能够与 iphone 5-6s 兼容,因此我对是否选择 32 位犹豫不决(我读到 Apple 在 6s 中转向了 32 位,因为性能更好)。

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

提前致谢。


默认整数:

  • 在 32 位设备上 = Int32
  • 在 64 位设备上 = Int64(是的,它是 Int64,只需在我的 iPhone6S 上进行测试)

ButInt32 和 Int64 都可以在 32 位设备上工作。 (但是Int64在32位设备上计算需要更长的时间)

如果您的数字小于或等于 ±2.147.483.647,我建议您使用 Int32
公式:(2^(位 - 1) - 1) 如果小于或等于 ±32.767,甚至是 Int16
(实际上负值可以比正值大1:Int32的范围 -2.147.483.648 ... 2.147.483.647)

如果您在 coreData 中使用 Int32,只需确保不超过此数字并强制转换 Int作为?整数32保存时(as?因为理论上它可以是更高的数字)
当将 Int32 加载到 Int 时总是成功(使用:as! Int)

如果您在 coreData 中使用 Int64,只需转换 Int作为!整型64保存时(即使在 32 位设备上,这也总是会成功,但可能是稍微慢一点但如果你不保存/加载它,你不应该有任何问题)
但加载时要小心,从 Int64 到 Int 的转换可能会失败,因为 Int64 理论上可以存储比 32 位设备上的 Int 可以存储的更大的数字(使用as? Int以防止可能发生的崩溃)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在代码中使用通用 Int - 在 Core Data iOS 中使用 32 位或 64 位 Int? 的相关文章

随机推荐

  • 非 www 到 www htaccess 重定向

    我有一个 net 网址 它与前面的 www 完美配合 但是当网址只是http example net http example net它打开了一个正在建设的页面 我尝试了各种 htaccess 文件 但没有任何效果 帮助 我不是网络开发人员
  • CSS3 在动画元素上旋转导致不调用单击事件

    好吧 这个给我带来了很多问题 使用css3时 webkit transform具有任何类型 3d 旋转的样式 例如rotateY 30deg 给这个旋转的对象绑定点击事件是极其不可靠的 请参阅下面的示例代码或查看这把小提琴 http jsf
  • 序列化迁移执行顺序

    我似乎无法在任何地方找到这个问题的答案 我了解 Sequelize 迁移和播种器的工作原理 但我没有找到任何地方说明它们是否按某种特定顺序执行 因此 如果我从一个数据库开始 进行一系列迁移 然后决定从原始起点初始化一个全新的数据库 它将以完
  • 如何在Android应用程序中实现应用内计费?

    看来在Android应用程序中实现应用内计费是相当复杂的 我怎么能这样做呢 SDK 中的示例应用程序只有一个 Activity 这对于像我这样具有多个 Activity 的应用程序来说过于简化了 好吧 我会尝试解释一下我的经历 我不认为自己
  • Mac zip 压缩没有 __MACOSX 文件夹?

    当我在 Mac OSX 中使用内置 zip 压缩器压缩文件时 会导致在提取的 zip 中创建一个名为 MACOSX 的额外文件夹 我可以调整设置以防止创建此文件夹吗 或者我是否需要购买第三方压缩工具 UPDATE 我刚刚找到一个适用于 OS
  • 使用 simplexml_load_file 从 tumblr 中提取 - 每次都会超时

    我的网站加载时间约为 45 秒 这是因为我从 tumblr 中提取了一些 XML 但我无法确定这是我的服务器的错误 tumblr 的错误还是其他因素 我可以让这个脚本在 5 秒后超时并回显 tumblr 已关闭 吗 而不是在近一分钟后超时
  • 等待CSS中的背景图像完全加载[重复]

    这个问题在这里已经有答案了 我有一个网络应用程序 它使用外部 CSS 中加载的外部背景图像 现在 可以在图像完全渲染之前使用该应用程序 从而产生奇怪的视觉效果 如何停止脚本执行直到图像完全加载 它可以使用普通的 JavaScript 或 j
  • 如何复制hashset和hashmap,Java是否使用指针?

    我有两个问题 First 我有一个返回 HashMap 的函数 为了读取返回值 我这样写 HashMap
  • Gradle 上传失败但仍部署到 Nexus

    您好 我的 gradle 构建失败了uploadArchives任务 但是当我检查Nexus时 WAR和POM仍然成功部署到Nexus 谁能帮助我了解发生了什么事 26 Jul 2016 18 46 28 compileGroovy UP
  • 用于从模式生成 URL 的 Java 库

    我想知道是否有任何免费的 Java 库可以自动执行以下过程 1 提供遵循特定模式的 URL 例如 http www asite com path to something thischange alsothischange andthisc
  • 在 Spring Boot 测试中的纯二进制 websocket 连接期间保留 TestSecurityContextHolder

    我有一个使用二进制 websocket 的 spring boot 1 5 2 RELEASE 应用程序 即没有 Stomp AMQP 纯二进制缓冲区 在我的测试中 我能够来回发送消息 效果非常好 但是 在对应用程序进行 websocket
  • 如何知道网络是否连接(断开)?

    在 Xul 中 我如何知道网络是否已连接 断开 update Using function observe aSubject aTopic aState if aTopic network offline status changed wr
  • 是否可以检索由混淆矩阵识别的误报/误报?

    我正在使用 Scikit learn 并使用混淆矩阵来更深入地了解我的算法的执行情况 X train X test Y train Y test train test split keywords list label list test
  • Pydantic 从列表中设置变量

    有没有办法从列表中设置 pydantic 模型 我尝试过这个 但它对我不起作用 如果 pydantic 无法做到这一点 如果我仍然需要类型验证和转换 约束等 那么最好的方法是什么 顺序在这里很重要 from pydantic import
  • 旋转的 CGRect 内部的点

    如何正确确定一个点是否位于旋转的 CGRect 框架内 框架随 Core Graphics 一起旋转 到目前为止 我已经找到了一种计算点是否在三角形内的算法 但这并不是我所需要的 正在旋转的框架是一个带有一些子视图的常规 UIView 让我
  • jquery从下拉列表中获取标签值

    我知道我可以使用 dropdown val 获取值 有人知道我如何获得标签吗 Cheers var text dropdown find option selected text 这与以下相同 var text dropdown optio
  • 跳过 Maven 测试依赖项

    我正在开发一个使用 Maven 进行构建的项目 我想做的是跳过测试依赖项 基本上在我的 Maven 存储库中不存在工件的情况下运行 Maven 构建 eg
  • 在处理 VotingClassifier 或网格搜索时,Sklearn 中的 GradientBoostingClassifier 是否有类别权重(或替代方法)?

    我正在使用 GradientBoostingClassifier 来处理不平衡的标记数据集 Sklearn 中似乎不存在类权重作为该分类器的参数 我发现我可以在合适时使用sample weight 但在处理VotingClassifier
  • 流星排序集合随机

    我想从 Meteor 集合中获取随机排序的集合 最好 最有效的方法是什么 Mongo 选项存在争议 https stackoverflow com questions 20336361 get random document from a
  • 在代码中使用通用 Int - 在 Core Data iOS 中使用 32 位或 64 位 Int?

    我正在用 swift 编写一个应用程序 通过苹果的核心数据保存其数据 在我的代码中 所有整数都被声明为 Int 因为这样更灵活 并且编译器会根据代码运行的设备调整这些整数 但是 当我想使用核心数据保存这些 Int 时 我必须选择 32 位或