我已经阅读了一些有关如何模仿iTunes来源列表样式的主题。但是我似乎无法弄清楚需要做什么才能让他们实际在主表视图中显示其他内容。
我的设置是这样的:我在后台有核心数据,其中包含iTunes中的所有曲目以及一个具有3个状态的“状态”字符串。我只想在源列表中选择一个项目时显示部分标题。源列表项与轨道的状态匹配。
换句话说:3个源列表项代表一个数据集中的3个不同的组。使用此状态变量来区分组。
我试图制作一个NSStrings和NSPredicates数组,并将所选项目绑定到主表视图过滤谓词。但这没有用。
非常感谢您的回复。
编辑:从数组设置筛选谓词现在可以工作。但这在过滤表的NSSearch字段中不能很好地发挥作用。还有另一种方法还是可以轻松组合两个谓词?
最佳答案
您可以通过将两个谓词“或”或“与”在一起来“组合”它们。换句话说,假设您有以下两个谓词:
NSPredicate *one = [NSPredicate predicateWithFormat:@"foo = 42"];
NSPredicate *two = [NSPredicate predicateWithFormat:@"bar = 'abc'"];
你可以做:
NSArray *subpredicates = [NSArray arraWithObjects:one, two, nil];
NSPredicate *both = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates];
//this is equivalent to: foo = 42 AND bar = 'abc'
要么
NSPredicate *both = [NSCompoundPredicate orPredicateWithSubpredicates:subpredicates];
//this is equivalent to: foo = 42 OR bar = 'abc'
关于cocoa - 如何创建可过滤主表格 View 的iTunes样式源列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5523054/