- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 View Controller 中有一个“书籍”方法,它获取核心数据中的所有书籍并返回它们的数组。我经常依赖 self.books - 当我需要知道它在某个索引处是哪本书、有多少本书等时,books 方法会重新获取结果。
通过将这些结果缓存在 iVar 中,我是否会获得任何性能改进?绝大多数时候我知道 self.books 的结果不会改变(objectAtIndex、计数等)。我可以添加第二个 bool iVar 'booksNeedRefresh' 来充当脏标志,并且仅当我添加/删除一本书时才将其设置为 true。 self.books 然后可以检查这个标志,并且只在必要时重新获取。
我想我的问题是:
最佳答案
我认为你走错了路。 Core Data 已经为您提供了很多内存管理,因此不需要“脏”标志等。
最明显的解决方案是使用 NSFetchedResultsController
。它的主要目的是在 TableView 中显示数据,同时保持较小的内存占用——但它也可以用于其他目的。您的书籍数组将变为 _fetchedResultsController.fetchedObjects
,并且 FRC 将负责内存和提取之间的优化。
原则上回答您的问题,上述权衡正是问题所在,因此您的思考是正确的。频繁提取确实会对性能产生影响。
关于ios - 缓存 executeFetchRequest 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016033/
我在使用 Core Data 时遇到了一个奇怪的问题。目标是iOS 5.0 这行代码: NSArray *results = [self executeFetchRequest:request
我正在尝试在 iOS 7 应用程序中实现 Core Data(并且之前已成功完成)。但是,当我执行executeFetchRequest 方法时,应用程序崩溃了。下面添加了最相关的代码: #impor
我的 Objective-C 代码中有一个奇怪的问题。我有一个 View Controller ,我在“viewWillAppear”中调用自己的 loadData 方法。这很酷,直到 View 第三
必须在创建该线程的同一线程中使用AFAIK ManagedObjectContext,否则可能由于锁定而冻结。 我遇到的情况是尝试在主线程中创建executeFetchRequest:error:时被
我的提取请求工作正常,我可以毫无问题地获取我提取的对象。我想做的是在实体不存在的情况下处理错误。问题是,我无法处理错误,因为当我调用 executeFetechRequest: error: 时应用程
我的 View Controller 中有一个“书籍”方法,它获取核心数据中的所有书籍并返回它们的数组。我经常依赖 self.books - 当我需要知道它在某个索引处是哪本书、有多少本书等时,boo
我是一名 iOS 开发新手。我正在尝试将 executeFetchRequest 的结果导入到我创建的结构中,以便稍后查看到表中。我在 func getTasks() 中得到“数组索引超出范围”,我很
我正在使用 AppDelegate 的默认 managedObjectContext,当我在其上执行 executeFetchRequest 时,它永远不会转到下一行或因错误而崩溃。这是在后台线程上进
我在 Core Data 中遇到了一个奇怪的问题。基本上,我有一个空的核心数据,其中包含学生和教师等多个模型。我尝试执行以下代码: NSFetchRequest *request = [NSFetch
我正在做一个 Core Data 教程,但我总是遇到崩溃。这是一个 objc_exception_throw。 我创建了一个名为 loadTableData 的方法并在 viewDidLoad 中调用
我最近在使用我的 iOS 应用程序时遇到了一个奇怪的问题,并且不知道如何解决它。 在第一次运行期间,有一个在后台运行的方法,它从游戏中下载项目列表和项目属性,并将其存储在 Core Data 中以供以
我正在使用 Core Data 存储一个包含可转换 NSDictionary 属性的实体。存储后,我可以在 .SQLite 文件中看到一个对象,所以我认为(?)我在那里很好。但是,当我尝试检索整个实体
我不知道发生了什么,但它突然在 Visibility.m 实体类的下一行崩溃。我没有对这些类(class)进行任何更改,并且它曾经完美地工作。唯一的问题是我错误地删除了模型。我已经从备份中恢复它并再次
我开发了一个针对iPhone的应用程序,它使用CoreData。在模拟器上运行时,一切正常,但是在设备上运行时,出现以下错误: "*** Terminating app due to uncaught
我正在尝试将外部数据添加到 SQLite 中/使用 Core Data 更新现有数据。 基本上,我从外部 Web 服务获得了一个 JSON,我正在使用以下代码来确定我是应该在数据库中添加新对象还是更新
我在使用核心数据时遇到奇怪的数据丢失问题。 我使用以下代码将记录保存到核心数据。 for (int i = 0; i < [domains count]; i++){ NSSt
附件是我的代码。 给我问题的那一行是 let fetchRequest = try moc.executeFetchRequest(fetchRequest) as! [AppSettings] 似乎
在我的 ViewController 中打招呼: [super viewDidLoad]; context = [[AppDelegate sharedAppDelegate] managedObje
这个问题在这里已经有了答案: Swift 2 ( executeFetchRequest ) : error handling (5 个答案) 关闭 7 年前。 https://www.dropbo
我有一个 saveMOC,它是 mainMOC 的直接父级,我需要在线获取另一个 tmpMOC 以免阻塞我的 UI,同时从互联网上获取大量记录。 我的应用卡住了。我可以将其缩小到这一点:
我是一名优秀的程序员,十分优秀!