- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个应用程序,当您选择一个单元格时,您会被转到一个新的阅读 View 。您点击的单元格对应于核心数据存储中的一个对象(通过 NSFetchedResultsController
),并且该对象被设置为正在处理的 View 的 article
属性的值继续。
到达那里后,我会在用户阅读文章时移动他们在文章中的位置。 (所以我通过 article.position = ...
更改了 article
的 position
属性)
然而,这种情况在他们阅读时非常频繁地发生,通常是数百次,并且每次 NSFetchedResultsController
都将更改检测为更新,然后调用 configureCell:
,这然后运行该单元的一堆配置。由于这个 configureCell:
方法被调用得如此频繁(我只希望在他们返回到 TableView 时调用它,因为那是唯一需要更新的时间)它导致了相当大的性能损失.
不过我不明白为什么要调用它。我没有使用 NSManagedObjectContext
将数据保存到 Core Data 存储中,那么它为什么要关心呢?我只在 viewWillDisappear
被调用时调用它,表明他们正在离开 View ,可能会返回到我想要的 TableView !
基本上,我如何让它只在需要时/当我要求它将数据写入 Core Data 时才调用 configureCell:
?它按原样调用了数百次。
最佳答案
如果您不将对 Core Data 对象的更改持久化到磁盘上,这无关紧要;对 Core Data 管理对象的更改是一个更改,因此 NSFetchedResultsController 承认它。
您可以通过在 viewWillDisappear:
中将 NSFetchedResultsController 的委托(delegate)设置为 nil
并在中将其设置回 self
来避免更新不可见的 TableView viewDidAppear:
。此外,在设置委托(delegate)后添加 performFetch:
。
“隐藏的”NSFetchedResultsController 仍将接收对前台 View 中的文章对象所做的所有更改,但会忽略它们,因为它没有委托(delegate)。
当返回到文章 ListView 时,它将再次拥有一个委托(delegate),并且能够对所有更改使用react。
关于ios - 为什么每次更改单元格对应的对象的值时都会调用我的 `configureCell:` 方法? (但我不保存它。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17537602/
我已经实现了一个带有一些自定义单元格的 UITableView,用于验证 UITextFields 和日期选择器。我想做一项简单的任务,但我不知道为什么它不起作用。我只想更改 UILabel 文本属性
我尝试将 RxSwift/RxDataSource 与 TableView 一起使用,但无法使用现有函数分配 configureCell。代码如下: import UIKit import RxSwi
我正在制作一个应用程序,当您选择一个单元格时,您会被转到一个新的阅读 View 。您点击的单元格对应于核心数据存储中的一个对象(通过 NSFetchedResultsController),并且该对象
对于 tableviewcontroller,我使用 cellforrowatindexpath 来配置单元格。 但是,当更改核心数据中的某些内容时,委托(delegate)方法controllerD
我正在尝试学习 Swift,并决定使用 2015 年出版的“Swift for Dummies”。书中使用的示例代码适用于 XCode 6.X,但我使用的是 Xcode 7.2.1。 第四章Maste
我需要使用模型对象的内容配置自定义表格 View 单元格。哪个是首选的设计模式?我不是在寻找“正确”的答案,只是对利弊的良好讨论。 1)在configureCell:atIndexPath:?中手动配
我是一名优秀的程序员,十分优秀!