gpt4 book ai didi

objective-c - cocoa 绑定(bind) : Enable a button if multiple textfields have values

转载 作者:行者123 更新时间:2023-12-03 16:32:58 25 4
gpt4 key购买 nike

我有 5 个按钮和 5 个文本字段。我想设置绑定(bind),以便仅当文本字段 2-5 有值时才启用按钮 1...仅当文本字段 1 和 3-5 有值等时才启用按钮 2。

我刚刚开始了解 cocoa 绑定(bind)。我希望我可以使用它们来管理按钮的启用/禁用。当我尝试在其中一个按钮上设置“启用”绑定(bind)时,它不允许我引用文本字段。

这可能(并且正确)与绑定(bind)有关吗?

最佳答案

您将无法直接在 bitton 的绑定(bind)中引用文本字段。

解决此问题的一种方法是创建一个 NSObject 子类 - 将其称为 ButtonController - 并为 5 个文本字段提供实例变量:

@inteface ButtonController : NSObject
{
NSString *text1;
NSString *text2;
NSString *text3;
...
}

@property(nonatomic, retain) NSString *text1;
@property(nonatomic, retain) NSString *text2;
...

在 xib 文件中,实例化 ButtonController 的对象。现在您可以将事物绑定(bind)到按钮 Controller 实例。

接下来,将所有文本字段绑定(bind)到相应的 NSString 属性。

然后你可以将按钮的enabled属性绑定(bind)到ButtonController的属性上。当您绑定(bind)button1的enabled属性时,将其绑定(bind)到text2并选中valuetransformer框并选择“NSISNotNil”。一旦你这样做了,第二个enabled2绑定(bind)就变得可用,你可以将它绑定(bind)到text3等。

我认为这会起作用,但还没有尝试过。

关于objective-c - cocoa 绑定(bind) : Enable a button if multiple textfields have values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7601930/

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