向现有 NSPredicate 添加附加参数
是否可以采用现有的 NSPredicate 并向其添加附加参数?
在我的一个表视图中,我传入一个 NSPredicate 以用于我的 NSFetchedResultsController,如下所示:
[fetchedResults setPredicate:self.predicate];
这工作得很好,并将根据现有的 NSPredicate 显示内容。但我想更进一步,向 tableView 添加 UISegmentedControl。
- (IBAction)segmentChange:(id)sender {
switch (selectedSegment) {
case kDisplayDVD:
// Add argument to existing NSPredicate
break;
case kDisplayVHS:
// Add argument to existing NSPredicate
break;
default:
break;
}
根据用户选择的段,我想向现有 NSPredicate 添加一个参数。这有可能吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然!
假设您的对象有一个名为
display
的属性,它是一个 int(或者更确切地说,是一个与您的kDisplayDVD
、kDisplayVHS
等对应的枚举) 。那么你可以这样做:所以如果
[self predicate]
是(foo = @"bar" OR baz > 42)
,你的新谓词将是display = 1 AND (foo = @"bar" OR baz > 42)
Sure!
Let's say that your objects have a property called
display
that's an int (or rather, an enum that corresponds to yourkDisplayDVD
,kDisplayVHS
, etc). Then you can do:So if
[self predicate]
is(foo = @"bar" OR baz > 42)
, your new predicate will bedisplay = 1 AND (foo = @"bar" OR baz > 42)