gpt4 book ai didi

cocoa - 暂时禁用NSArrayController的filterPredicate,或者咨询ManagedObjectContext?

转载 作者:行者123 更新时间:2023-12-03 17:32:50 25 4
gpt4 key购买 nike

我有一个 NSArrayController,它绑定(bind)到我的托管对象上下文中的一个类。在运行时,NSArrayController 可以应用许多不同的过滤谓词。在某些时间间隔,我想迭代 NSArrayController 的内容,而不管应用于它的过滤谓词如何。

为此,我将 filterPredicate 设置为 nil,然后在迭代数组后恢复它。这似乎有效,但我想知道这是否是最佳实践?我应该手动轮询我的托管对象上下文吗?

NSPredicate *predicate = nil;
predicate = [myArrayController filterPredicate];
[myArrayController setFilterPredicate:nil];
for(MyManagedObject *object in [myArrayController arrangedObjects]) {
// ...
}
[myArrayController setFilterPredicate:predicate];

最佳答案

您可以使用 content 选择器从数组 Controller 检索所有内容,而与应用的过滤谓词无关:

[myArrayController content]

您根本不需要重置过滤谓词。

关于cocoa - 暂时禁用NSArrayController的filterPredicate,或者咨询ManagedObjectContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2965968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com