问题标签 [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.

0 投票
1 回答
1039 浏览

iphone - NSFetchRequest 谓词语法

Task我的核心数据模型中有一个实体。该Task实体有一个名为 的可转换属性date。属性的类date是一个名为的类TDate(它符合 NSCoding,因此是一个可转换的属性)。TDate有一个NSInteger名为的类型的属性month

在我的NSFetchRequest我想获得Task特定月份的所有对象。我正在使用以下谓词:

[NSPredicate predicateWithFormat:@"date.month == 7"]

应该让我Task在七月份得到所有的东西。但是,使用此谓词,不会返回获取的对象。Task我可以通过取出谓词来确认有些对象的月份是 7(七月)。我的谓词语法有问题吗?

谢谢

0 投票
1 回答
427 浏览

iphone - 核心数据 - NSFetchRequest 问题

我的 NSFetchRequest 有问题,它似乎没有获取任何数据,代码如下:

0 投票
1 回答
858 浏览

iphone - objectAtIndex:0] numberOfObjects] > fetchLimit

我目前遇到一个问题,当 FRC 的 fetchRequest 上的 fetchLimit 为 4 时,使用 NSFetchedResultsController 的 UITableViewController/UITableView 显示大约 86 个项目。我知道 86 个项目满足 fetch 本身,并且我知道它们出现的原因是因为 didChangeObject: atIndexPath... 被 86 个中的每一个调用,并且我按默认实现方式插入。

我的问题是为什么 fetchLimit 不限制 NSFetchedResultsController 尝试“更改”(在这种情况下插入)的对象数量?

我的应用程序用例是第一个选项卡显示我在应用程序启动时(在侧线程上)获得的典型提要项目。我将它们保存在单独的上下文中的 CoreData 中,最终合并到主线程的上下文中并针对更改的内容启动 FRC 回调。我的问题专门针对不存在任何项目的初始情况。


这是我的fetchRequest:

上面的 contentType 只是一种区分应该在此选项卡与其他选项卡中显示的内容的方法。Featured 是项目的布尔属性,它更像是一个用于显示目的的开关。

这是我的didChangeObject:

我知道这个问题很难回答,但即使是解释 FRC 如何决定调用 didChangeObject 的次数也会非常有帮助。

0 投票
3 回答
6189 浏览

iphone - 没有排序描述符的 NSFetchRequest

我们不能在不提供 NSSortDescriptor(s) 的情况下使用 NSFetchRequest。我要做的就是获取结果并按照它们的创建顺序显示它们。有没有内置的方法可以做到这一点?还是我必须创建一个新的“自动增量”字段?(在我看来,这与 CoreData 所代表的一切背道而驰)。

0 投票
2 回答
2963 浏览

core-data - NSFetchResultsController + sectionNameKeyPath + 部分顺序

我在两个实体之间有一对多的实体关系:

属性和关系:

我使用获取结果控制器来显示结果。这是我的获取结果控制器的实现:

现在,例如,如果我在持久性存储中有以下数据:

注意:昨天和今天是 NSDate 格式。

然后我应该按以下顺序(完全正确)获取部分和行:

但是,排序不是这样工作的。我以正确的顺序获取行,但这些部分没有排序!我希望 sortDescriptorPDate 正在做他的工作。我错过了什么?期待中的感谢。

0 投票
1 回答
1361 浏览

iphone - 如何在没有 NSFetchedResultsController 的情况下缓存 NSFetchRequest 结果?

有没有办法缓存 NSFetchRequest 结果,但不使用 NSFetchedResultsController?我知道如何为结果控制器设置缓存名称,但在许多情况下,我只是从核心数据存储中提取数据并想要缓存它——但不需要结果控制器。关于如何做到这一点的任何想法?我在 Apple 的文档中找不到任何内容。

0 投票
1 回答
475 浏览

iphone - 如何为这种请求创建正确的 NSPredicate?

您好问题是这样的:

我在 CoreData 实体中有一个标题和与关键字实体的关系。

我需要一个谓词来帮助我获取标题包含我键入的关键字的所有实体。我有下面的代码应该这样做,但它没有:

例如,我有这样的标题实体:

1)“伟大的着色主题” 2)“儿童主题” 3)“儿童汽车”

我的关键字 db 将包含:

儿童汽车的绝佳着色主题

我怎样才能创建一个谓词,所以当我输入例如:

主题为

结果将是 2) 和 3)

或者如果我输入:

很棒的主题

结果将是 1) 和 2)

非常感谢任何帮助获得正确的谓词来实现这一点。我试图在那里做的事情不起作用,我没有想法。

谢谢!

0 投票
1 回答
248 浏览

iphone - iPhone核心数据得到孙子

如果我为 Parent - Child - Grandchild 设置了实体,并且它们之间存在一对多的关系,我知道我可以获取父母的所有 Child 实体或 Child 的所有 Grandchild 实体。

是否可以运行获取给定父级的所有 Granchild 实体的提取?

谢谢你的帮助!

0 投票
2 回答
10429 浏览

objective-c - NSFetchRequest 和 predicateWithBlock

我正在玩一个使用 Core Data 和 NSManagedObjects 来填充 UITableView 的应用程序。我的应用程序中只有一个类,称为Event. 我创建了以下自定义实例方法Event

我想将UITableView显示Event对象限制为仅过期的事件 - 即isExpired返回的地方YES。我试图通过添加一个NSPredicate来做到这一点NSFetchRequest

但我得到错误:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Problem with subpredicate BLOCKPREDICATE(0x272ac)' ***。这是否意味着您不能将块谓词与 NSFetchRequest 一起使用?还是我构造不当?

谢谢!

0 投票
1 回答
192 浏览

iphone - 在我的数据模型中添加关系会导致 NSFetchRequest 返回零项

我在 Xcode 的数据建模器中构建了一个名为“Store”的简单实体,用于 iPhone 应用程序。我还有一个与之关联的类(Store),我已经能够使用 CoreData 毫无问题地存储和检索数据。

现在我意识到我想与另一个实体(Aisle)建立关系。Aisle 与 Store 之间已经存在一对一的关系,但由于一个 Store 中可以有多个 Aisles,因此我尝试添加相反的关系。新的关系是一对多的,与原来的一对一关系相反,是可选的,并且删除设置为级联。我还重新创建了关联的 Store 类,因此现在类定义中也有一个 NSSet ivar。

仅仅添加这种关系就会导致我现有的数据无法通过 NSFetchRequest 进行检索。在调试时,我看到请求填充的数组包含零个项目,但查看 SQL 数据库,我发现对象都在那里。如果我删除新的关系,一切都会很好。

这是我检索数据的代码:

知道为什么我的 fetch 不能正常工作吗?

谢谢!