首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择NSRuleEditor条件时执行操作

选择NSRuleEditor条件时执行操作
EN

Stack Overflow用户
提问于 2016-12-16 06:46:39
回答 1查看 82关注 0票数 0

如何确定在NSPopUpButton菜单中选择NSRuleEditor的哪个标准?内部ruleEditorRowsDidChange(_:)

我可以跟踪每一行的标准并手动处理更改,但似乎应该有更简单的方法。

我尝试在规则编辑器的委托中返回一个NSMenuItem,而不是一个String,用于该规范的value;然后在菜单项上设置目标和操作属性。这允许我在规则编辑器中选择菜单项(条件)时调用一个方法。这也意味着我知道是哪个标准触发了操作方法,因为每个菜单项的目标都是条件本身。但是,在菜单项上设置目标和操作属性将覆盖规则编辑器在菜单项上设置的私有目标和操作值。这意味着在规则编辑器中选择了一个条件之后,我设置的目标/操作就会被触发,但是选择的更改不会反映在规则编辑器中。

我的当前解决方案是返回一个NSPopUpButton作为标准的displayValue (因为它继承自NSView),并手动管理按钮的项和目标/操作。它工作得很好,但它让单一的标准本身管理多个值,而不是依赖规则编辑器的委托,似乎有点破坏了规则编辑器的设计。

我是不是走错路了?在规则编辑器中选择标准时,是否有一种更简单的方法来运行特定于标准的代码?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 02:49:10

设置菜单项的操作,并在操作调用规则编辑器的- (void)setCriteria:(NSArray *)criteria andDisplayValues:(NSArray *)values forRowAtIndex:(NSInteger)rowIndex内刷新行。您可以使用- (NSInteger)rowForDisplayValue:(id)displayValue获取行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41178724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档