Cocoa 暂时禁用NSArrayController筛选器预测,或咨询ManagedObjectContext?
我有一个NSArrayController,它绑定到托管对象上下文中的类。在运行期间,NSArrayController可以应用许多不同的筛选器谓词。在特定的时间间隔内,我希望遍历NSArrayController的内容,而不考虑应用于它的筛选器谓词 为此,我将filterPredicate设置为nil,然后在遍历数组后将其恢复。这似乎有效,但我想知道这是否是最佳实践?我应该手动轮询我的托管对象上下文吗Cocoa 暂时禁用NSArrayController筛选器预测,或咨询ManagedObjectContext?,cocoa,core-data,nsarraycontroller,Cocoa,Core Data,Nsarraycontroller,我有一个NSArrayController,它绑定到托管对象上下文中的类。在运行期间,NSArrayController可以应用许多不同的筛选器谓词。在特定的时间间隔内,我希望遍历NSArrayController的内容,而不考虑应用于它的筛选器谓词 为此,我将filterPredicate设置为nil,然后在遍历数组后将其恢复。这似乎有效,但我想知道这是否是最佳实践?我应该手动轮询我的托管对象上下文吗 NSPredicate *predicate = nil; predicate = [myA
NSPredicate *predicate = nil;
predicate = [myArrayController filterPredicate];
[myArrayController setFilterPredicate:nil];
for(MyManagedObject *object in [myArrayController arrangedObjects]) {
// ...
}
[myArrayController setFilterPredicate:predicate];
如果您只想获取所有没有过滤器的Foo实例,然后以编程方式对它们进行迭代,为什么不直接进行呢
如果您只需要控制器的-ArrangedObject,那么在获取请求中使用排序描述符就很容易了。如果您只想获取所有没有过滤器的Foo实例,然后以编程方式迭代它们,为什么不直接呢
如果您单独请求控制器的-ArrangedObject,那么在获取请求中使用排序描述符就很容易了。您可以使用
内容
选择器从数组控制器中检索所有内容,而不依赖于应用的筛选谓词:
[myArrayController content]
您根本不需要重置筛选器谓词。您可以使用
内容
选择器从数组控制器检索所有内容,而不依赖于应用的筛选器谓词:
[myArrayController content]
您根本不需要重置过滤器谓词