问题标签 [nsfetchrequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - 按谓词对 NSFetchRequest 进行排序
我有一个支持 SQLite 的核心数据存储,并希望使用NSFetchRequest
. 我希望所述列表按可以在数据库级别轻松计算的布尔值进行排序。我知道这一点是因为可以使用 来制定相同的条件NSPredicate
,如下所示:
可悲的是,似乎没有办法使用NSSortDescriptor
. 我如何最好地解决这个问题?我是否要获取两个列表,一个带有
和一个
并在以后将它们结合起来?那么我还能优雅地使用 aNSFetchedResultsController
吗?
或者我应该获取所有项目并稍后在代码中对其进行排序?或者有什么我错过的。
ios - 如何从特定的对象 ID 获取核心数据对象?
我可以使用以下代码在 Core Data 中轻松获取对象的 ID:
但是,有没有办法通过给它一个特定的对象 ID 来从核心数据存储中取出一个对象?我知道我可以通过使用 NSFetchRequest 来做到这一点,如下所示:
但是,我想以一种不启动其自己的获取请求的方式进行操作。有任何想法吗?
objective-c - 谓词适用于数组但不适用于 fetchRequest
我正在尝试创建一个 fetchRequest 来显示所有不在另一个数组中的值。此代码返回我期望的数组:
myarr 包含 1 项,并且该 1 项按预期从过滤结果中排除。但是,此代码不起作用:
当我执行这个获取请求时,我得到了属于当前 questionChoiceGroup 的所有 questionChoices,包括在 myarr 中有代码的那个。它似乎完全忽略了 AND 语句的第一部分。
我看不出两者之间有什么区别会导致不同的结果。任何人都可以帮忙吗?
编辑更简单的解释:
filtersQuestionChoices1 包含一个代码为“A”的项目。filtersQuestionChoices2 没有该项目。第二个谓词如何过滤掉第一个谓词没有过滤掉的任何东西?两个语句都使用完全相同的谓词。如果我在数组上使用谓词,如果完全相同的谓词将过滤掉这些对象,为什么我要从 fetchedRequest 中取回对象?
ios - NSFetchedResultsControllerDelegate & UITableViewDelegate 行为
我遇到的 FRC 和 TableView 委托行为似乎不一致:
- 对performFetch的初始调用会导致按预期调用委托方法。但是,如果我更新 FRC 的baseFetch上的谓词,然后再次调用performFetch,则永远不会调用 FRC 委托方法,并且不会使用新数据更新 TableView。为了强制表更新和显示新数据,我显式调用reloadData。
- 对performFetch的初始调用正确地构建了 TableView 的部分。如果我更改 FRC(新的 FCR 具有不同的fetchRequest和sectionNameKeyPath)并再次调用performFetch,则表和部分会按预期更新以匹配新结果。但是,如果我随后返回原始 FRC 并调用performFetch,则这些部分具有正确的名称,但具有先前 FRC 的部分/行结构。为了强制更新这些部分,我明确调用reloadSectionIndexTitles。
我的感觉是,如果有什么变化,代表应该在我们调用performFetch的任何时候被解雇。显式调用reloadData和reloadSectionIndexTitles似乎是一个昂贵且不必要的步骤,因为这就是代表存在的目的。我错过了什么吗?
以下是相关代码:
NSFetchedResultsControllerDelegate
UITableViewDelegate
抓取
core-data - tableView 中显示的核心数据关系
我正在开发一个带有显示核心数据表内容的表格视图的应用程序。数据模型是这样的:Entity(name, code)->>Translation(text, code)
我使用通常的 NSFetchedResultsController 检索所有实体,但是现在是时候填充每一行了(通过 tableview cellForRowAtIndexPath:) 我必须深入每个实体以根据用户输入的代码检索 2 个翻译。我正在使用 NSFetchRequest 来做到这一点,但我想知道这是否是正确的做法(每次填充一行时一个获取请求)。本能地,我会在 NSFetchedResultsController 中检索我需要的所有数据,而不是每次填充单元格时都搜索每个翻译,但我不知道如何。有没有人有一些建议,或者一些有趣的链接?
objective-c - 核心数据:实体中未发现密钥路径错误
谁能告诉我这段代码有什么问题?它引发以下错误并导致应用程序崩溃:
代码:
iphone - 在 iPhone 上的 NSFetchRequest 上的 setFetchBatchSize
我不明白 setFetchBatchSize 的含义。
在下面的代码中,我将获取批量大小设置为 20,但我的结果数组中仍然有 49 个对象(它们是查询中的所有对象)
那么setFetchBatchSize是什么意思,因为它似乎没有限制请求?
ios - 在 Core Data 中更改托管对象模型的属性值时崩溃
我有一个表格视图控制器,它使用获取的结果控制器为每一行获取项目。选择一行时,会推动新的视图控制器编辑该特定的托管对象模型 - 当我编辑并尝试保存时,我将获得以下内容。原因是什么?谢谢
.
iphone - 从数据库中检索数据时发生内存泄漏
嘿,我为数据库访问创建了一个自定义检索方法:
然后我在这个方法中使用上述方法:
遇到的麻烦是,当用户对 LVisit 表进行更改并调用此方法以显示这些更改时,它会使应用程序崩溃。
[编辑]
它产生的异常是:
我相信错误在于:
如果我删除自动释放,我会发生内存泄漏,但应用程序不会崩溃。
有没有人有什么见解,提前谢谢
ios - NSPredicate 使用 Fetch 请求不返回任何结果,适用于数组过滤
我的情况很简单:我的核心数据存储中有一些记录。它们的属性之一是一个名为“localId”的字符串。有一点我想找到具有特定 localId 值的记录。显而易见的方法是使用 NSFetchRequest 和 NSPredicate。但是,当我设置它时,请求返回零记录。
但是,如果我使用不带谓词的 fetch 请求,返回所有记录,然后遍历它们以查找目标 localId 值,我确实找到了我正在寻找的记录。换句话说,记录在那里,但是获取请求却找不到它。
我使用获取请求和谓词的其他方法都按预期工作。我不知道为什么这个失败了。
我想做这个:
但我最终不得不这样做:
关于可能出现什么问题的任何线索?
编辑
我发现我可以使用我正在创建的谓词来获得执行获取请求后我期望的结果。因此,以下方法也有效:
更新
我遇到过其他人遇到这个问题:
http://markmail.org/message/7zbcxlaqcgtttqo4
他也没有找到解决办法。
天哪!我难住了。
谢谢!