问题标签 [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.
iphone - NSFetchRequest 谓词语法
Task
我的核心数据模型中有一个实体。该Task
实体有一个名为 的可转换属性date
。属性的类date
是一个名为的类TDate
(它符合 NSCoding,因此是一个可转换的属性)。TDate
有一个NSInteger
名为的类型的属性month
。
在我的NSFetchRequest
我想获得Task
特定月份的所有对象。我正在使用以下谓词:
[NSPredicate predicateWithFormat:@"date.month == 7"]
那应该让我Task
在七月份得到所有的东西。但是,使用此谓词,不会返回获取的对象。Task
我可以通过取出谓词来确认有些对象的月份是 7(七月)。我的谓词语法有问题吗?
谢谢
iphone - 核心数据 - NSFetchRequest 问题
我的 NSFetchRequest 有问题,它似乎没有获取任何数据,代码如下:
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 的次数也会非常有帮助。
iphone - 没有排序描述符的 NSFetchRequest
我们不能在不提供 NSSortDescriptor(s) 的情况下使用 NSFetchRequest。我要做的就是获取结果并按照它们的创建顺序显示它们。有没有内置的方法可以做到这一点?还是我必须创建一个新的“自动增量”字段?(在我看来,这与 CoreData 所代表的一切背道而驰)。
core-data - NSFetchResultsController + sectionNameKeyPath + 部分顺序
我在两个实体之间有一对多的实体关系:
属性和关系:
我使用获取结果控制器来显示结果。这是我的获取结果控制器的实现:
现在,例如,如果我在持久性存储中有以下数据:
注意:昨天和今天是 NSDate 格式。
然后我应该按以下顺序(完全正确)获取部分和行:
但是,排序不是这样工作的。我以正确的顺序获取行,但这些部分没有排序!我希望 sortDescriptorPDate 正在做他的工作。我错过了什么?期待中的感谢。
iphone - 如何在没有 NSFetchedResultsController 的情况下缓存 NSFetchRequest 结果?
有没有办法缓存 NSFetchRequest 结果,但不使用 NSFetchedResultsController?我知道如何为结果控制器设置缓存名称,但在许多情况下,我只是从核心数据存储中提取数据并想要缓存它——但不需要结果控制器。关于如何做到这一点的任何想法?我在 Apple 的文档中找不到任何内容。
iphone - 如何为这种请求创建正确的 NSPredicate?
您好问题是这样的:
我在 CoreData 实体中有一个标题和与关键字实体的关系。
我需要一个谓词来帮助我获取标题包含我键入的关键字的所有实体。我有下面的代码应该这样做,但它没有:
例如,我有这样的标题实体:
1)“伟大的着色主题” 2)“儿童主题” 3)“儿童汽车”
我的关键字 db 将包含:
儿童汽车的绝佳着色主题
我怎样才能创建一个谓词,所以当我输入例如:
主题为
结果将是 2) 和 3)
或者如果我输入:
很棒的主题
结果将是 1) 和 2)
非常感谢任何帮助获得正确的谓词来实现这一点。我试图在那里做的事情不起作用,我没有想法。
谢谢!
iphone - iPhone核心数据得到孙子
如果我为 Parent - Child - Grandchild 设置了实体,并且它们之间存在一对多的关系,我知道我可以获取父母的所有 Child 实体或 Child 的所有 Grandchild 实体。
是否可以运行获取给定父级的所有 Granchild 实体的提取?
谢谢你的帮助!
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 一起使用?还是我构造不当?
谢谢!
iphone - 在我的数据模型中添加关系会导致 NSFetchRequest 返回零项
我在 Xcode 的数据建模器中构建了一个名为“Store”的简单实体,用于 iPhone 应用程序。我还有一个与之关联的类(Store),我已经能够使用 CoreData 毫无问题地存储和检索数据。
现在我意识到我想与另一个实体(Aisle)建立关系。Aisle 与 Store 之间已经存在一对一的关系,但由于一个 Store 中可以有多个 Aisles,因此我尝试添加相反的关系。新的关系是一对多的,与原来的一对一关系相反,是可选的,并且删除设置为级联。我还重新创建了关联的 Store 类,因此现在类定义中也有一个 NSSet ivar。
仅仅添加这种关系就会导致我现有的数据无法通过 NSFetchRequest 进行检索。在调试时,我看到请求填充的数组包含零个项目,但查看 SQL 数据库,我发现对象都在那里。如果我删除新的关系,一切都会很好。
这是我检索数据的代码:
知道为什么我的 fetch 不能正常工作吗?
谢谢!