gpt4 book ai didi

objective-c - 将 NSPopupButton 索引绑定(bind)到多个 bool 值

转载 作者:行者123 更新时间:2023-12-03 17:53:07 26 4
gpt4 key购买 nike

在我的 OSX Cocoa 应用程序中,我有一个具有两个 BOOL 属性的数据对象,将它们称为“OptionA”和“OptionB”

我需要向用户提供一个 UI 来设置这两个 bool 值的值,但出于各种原因(主要是清晰度和美观),我想使用带有 3 个选项的 NSPopupButton - 例如“均设置”、“仅 A” ,“仅 B”(“两者都不是”选项)。

我知道我可以将 target/action 与 NSPopupButton 一起使用来检查索引并在代码中设置值,还可以使用 KVO 来捕获数据对象中的更改并设置 NSPopupButton 的索引。

我想这不是什么大问题,但由于我试图了解 Cocoa Bindings 并将其与其他 UI 元素一起使用,所以我想知道是否有一种更优雅的方法使用 Cocoa Bindings 而无需编写此粘合代码?

最佳答案

在您的情况下使用绑定(bind)不是一个好主意,并且没有“简单”的方法来实现它,因为绑定(bind)是一对一的关系。

如果您想使用绑定(bind),您应该在模型中创建一个具有 3 个选项的属性:

typedef enum {
OptionValueA,
OptionValueB,
OptionValueBoth,
} OptionValueType;

@interface Model : ...

...

@property (assign) OptionValueType optionValue;

...

@end

并且还可以选择使用值转换器将其绑定(bind)到您的按钮。

关于objective-c - 将 NSPopupButton 索引绑定(bind)到多个 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com