KVO nspopup选择谓词

时间:2014-08-03 03:02:00

标签: macos key-value-observing

我刚刚学习KVO。这是我第一次实施它,我很困惑,试图保持一切。

现在我有一个连接到数组控制器的弹出按钮,其内容由字典提供。

我有第二个弹出按钮,其filterpredicate设置为第一个弹出按钮的选择值。

我需要添加KVO以观察第一个弹出按钮选择中的更改,并相应地更改filterpredicate。

到目前为止,我有这个......

 [nameController setContent:itemDictionaries];
 self.predicate  = [NSPredicate predicateWithFormat:@"item == %@", [[nameController selection] valueForKeyPath:@"item"]];

  [itemListController setFilterPredicate:self.predicate];

如何将KVO添加到弹出按钮的选择中,然后更新谓词的值?

1 个答案:

答案 0 :(得分:1)

解决了它。 而不是KVO,我只是将第一个弹出式按钮设为动作

- (IBAction)SelectionChanged:(id)sender 
{
    NSString *newItem = [[self.NamePopUp selectedItem] title];
    NSPredicate *newPredicate = [NSPredicate predicateWithFormat:@"item == %@", newItem];
    [itemListController setFilterPredicate:newPredicate];


}