iOS CoreData批量插入?

2024-03-26

在我的 iPhone 应用程序中,我需要将大约 2000 条记录插入 Core Data,然后用户才能使用该应用程序的任何功能。我正在将记录从本地 JSON 文件加载到 CoreData 中。此过程需要很长时间(2.5 分钟以上),但只需要发生一次(或每打开 10 个应用程序即可获取更新数据)。

核心数据有批量插入吗?我怎样才能加快这个插入过程?

如果我无法使用 Core Data 加快速度,还有哪些其他推荐选项?


查看高效导入数据 https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Performance.html核心数据编程指南中的章节。

我目前遇到和你一样的问题,只是我插入了 10000 个对象,大约需要 30 秒,这对我来说仍然很慢。我正在对插入到上下文中的每 1000 个托管对象执行一次 [managedObjectContext save](换句话说,我的批量大小是 1000)。我尝试过 30 种不同的批量大小(从 1 到 10000),在我的情况下,1000 似乎是最佳值。

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

iOS CoreData批量插入? 的相关文章

  • 用 UIView 像翻书一样翻页?

    我正在尝试在之间切换UIViews让它看起来就像你正在翻书的一页 The UIViewAnimationTransitionCurlUp如果我能让它向左或向右卷曲 那就非常接近了 这可能吗 我尝试过使用CATRansition但没有一种动画
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • 如何在 iOS 中注册自定义文件类型

    我目前正在创建一个应用程序 我想让用户在其中备份他们的文件 plist m4a 我压缩文件并将扩展名更改为自定义扩展名 专门针对我的应用程序 例如 MyBackup 然后 用户可以通过电子邮件或 iTunes 文件共享进行导出 我已经阅读过
  • 自动布局、UIDynamics 和动画

    我对自动布局还很陌生 并且对如何为视图设置动画感到困惑 我读了很多 我知道你必须遵守限制 编辑它 然后包装layoutIfNeeded in an UIView动画块 但当真正要做的时候 我却有点失落 我很乐意有人能向我解释如何做这个动画
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史
  • 如何从代码隐藏中设置 CarouselView 的项目?

    我有一个 CarouselView 它绑定到图像的 ItemsSource 但我想通过更改 CarouselView 的索引来更改当前显示的图像 我尝试使用 CarouselView Position 作为必须选择的元素的索引 但不幸的是这
  • 为什么我的 tableView 函数运行了 3 次?

    我有一个 UITableView 并且有执行它所需的方法之一 func tableView tableView UITableView numberOfRowsInSection section Int gt Int println sec
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • 线程 1:信号 SIGABRT - AppDelegate.h

    main m Journey Created by Julian Buscema on 2014 07 13 Copyright c 2014 Julian Buscema All rights reserved import
  • PrepareForSegue之谜

    我在两个不同的 VC 中有一个prepareForSegue 方法 一个使用一个if声明 而另一个旨在使用switch 除了名称之外 代码几乎相同 这个效果很好 void prepareForSegue UIStoryboardSegue
  • 使用 UIImageJPEGRepresentation 时,compressionQuality 应该是多少?

    我想对用户库中的照片应用滤镜 然后将其写回磁盘 我在用着UIImageJPEGRepresentation 该函数需要一个UIImage and a compressionQuality值介于 0 0 和 1 0 之间 因为我想保留原始质量
  • 在 Instruments 中查找内存泄漏行

    我是 iOS 中的仪器新手 我正在尝试使用 Xcode 4 5 2 并按照本教程查找仪器中的内存泄漏 http soulwithmobiletechnology blogspot sg 2011 04 how to check memory
  • Xcode 9 中的“addingPercentEncoding”是否损坏?

    在 Swift 3 x 和 Xcode 9 beta 2 中 使用addingPercentEncoding https developer apple com documentation swift string 1690785 addi
  • 如何更改已上传的 Firebase 存储图像文件名?

    我需要更改已上传到 firebase 存储中的文件名 因为 在 firebase 存储中上传图像后 我将 url 保存在 firebase 数据库中的特定子 文件夹 下 但是 当我将图像移动到另一个子 文件夹 时 我需要根据新名称更改存储中
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • Xcode 异常断点不会打印抛出异常的详细信息

    SUMMARY 当我设置异常断点时 我没有收到异常消息 如何获取异常消息 我已经知道如何获取堆栈跟踪 但不包括异常消息 DETAILS 过去我使用 Xcode 开发 iOS 应用程序 当出现问题时 我会收到错误 异常 该异常通常会出现 无法
  • 如何在 Gattle 中注入恒定数量的用户?

    我不清楚如何控制加特林中的封闭工作负载模型 如果我使用constantConcurrentUsers 像这样 myScenario inject constantConcurrentUsers 40 during 2 minutes 我认为
  • Rails 资产最佳实践 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我是 Rails 新手 无法找出组织
  • 迅捷继承:超级的超级

    假设这三个类具有简单的层次结构 class A func foo print A class B A override func foo super foo print B class C B override func foo print
  • 使用迭代器初始化字符串,出现“转置指针范围”异常

    也许是一个菜鸟问题 但为什么是这两行 vector
  • 将方法列表中的方法应用于 pandas 数据框

    这是我的第一个问题 所以请耐心等待 我的问题如下 假设我们有一个 pandas Dataframe 并且我们希望动态地将一些 pd Series 方法应用于该 Dataframe 的一组列 为什么下面的例子不起作用 testframe pd
  • Jenkinsfile 中的 Anaconda

    由于我们运行的测试越来越长 我认为从 Travis CI 切换到 Jenkins 在我的本地计算机上 是个好主意 设置 Jenkins 相对简单 但让我的 Jenkinsfile 工作 却不是那么简单 我正在尝试下载 miniconda g
  • 基于存储过程参数的条件 where 子句?

    我有一个带有参数的 SQL Server 2005 存储过程 includeClosedProjects 有一个WHERE我想根据这个参数控制的子句 create proc sel projects incClosedRel int 1 a
  • Sublime Text 2 Javascript 控制台

    我是 Sublime Text2 和 Javascript 新手 使用 Windows 8 我正在尝试在 Sublime Text 中创建一个 Javascript 控制台 我尝试了两种方法 但没有一个对我有用 方法一 我已经安装了在这里找
  • 如何在 android 中从 Http 或 RTSP Url 流式传输视频

    我想在 android 上播放 Http 和 Rtsp 的视频 目前我正在尝试使用 http 链接 但是当我的活动开始时 它只是开始播放带有空白黑屏的音频 没有视频显示 我在下面发布了我的代码 感谢您提前提供的任何帮助 如果有人可以提供一个
  • 检测字节顺序

    我目前正在尝试创建一个C无论目标系统的字节顺序如何 源代码都能正确处理 I O 我选择了 little endian 作为我的 I O 约定 这意味着 对于 big endian CPU 我需要在写入或读取时转换数据 转换不是问题 我面临的
  • C++ TR2 文件系统库的状态如何?

    截至上次布里斯托尔会议 C TR2 文件系统库的状态如何 它将成为 C 1Y C 14 的一部分 还是暂停 或者最近三次会议有任何已知的评论吗 It has 最近获得ISO委员会一致批准 http article gmane org gma
  • Ember 数据:已加载数据哈希...但未提供主键“未定义”

    我正在尝试使用 Ember Data 来加载模型 获取模型的 AJAX 调用似乎成功 但我得到以下信息 Uncaught Error assertion failed A data hash was loaded for a model o
  • 该元素导致 Firefox 中的元素溢出

    我不使用 Bootstrap 或 reset css reboot css 我正在尝试使用通用 css 构建一个网站 我正在做非常基本的事情 但我到处都得到 这个元素导致元素溢出 我已经有一段时间没有在没有任何 css 框架的情况下完成布局
  • C 中的字符串和指针

    include
  • 未检测到 Flash 10:世界上最普遍的网络视频错误?

    问题如下 确保您对网站上 Flash 版本 x 的要求能够正确检测到更高版本的 Adob e Flash Player 版本 10 或 1y 的存在的最佳方法是什么 现在谜团来了 为什么这么多需要 Flash Player 版本 8 和 9
  • 01 背包专业化

    抱歉 如果这个问题已经得到解答 但我对算法没有深入的了解 并且并不总是注意到算法不同专业之间的微妙之处 我有 我认为是 01 背包问题的一个轻微变体 我有一个背包 其最大重量为 W 有 N 个重量为 w 价值为 v 的物品可供选择 我想要做
  • 为什么 Arc::try_unwrap() 会导致恐慌?

    我正在编写一个简单的聊天服务器 它向所有连接的客户端广播消息 由于我是初学者 代码可能看起来很糟糕 对等点尚未在任何地方使用 因为我想将其传递给handle client函数也是如此 因此当数据在流中可用并成功读取时 我想在所有连接的客户端
  • 为每个对象 JointJS 创建一个 ToolElement

    我试图为每个对象创建一种工具菜单 当您单击或将鼠标悬停在某个元素上时 它会显示可以执行的几个操作 删除 旋转 放大 链接等 我用过这个question https stackoverflow com questions 30153345 h
  • iOS CoreData批量插入?

    在我的 iPhone 应用程序中 我需要将大约 2000 条记录插入 Core Data 然后用户才能使用该应用程序的任何功能 我正在将记录从本地 JSON 文件加载到 CoreData 中 此过程需要很长时间 2 5 分钟以上 但只需要发