gpt4 book ai didi

objective-c - GUI 元素对属性的变化没有反应

转载 作者:行者123 更新时间:2023-12-03 17:31:50 25 4
gpt4 key购买 nike

我在我的应用程序委托(delegate)中创建了一个 bool 类型的属性:

在 AppDelegate.h 中:

@property(assign) BOOL myProp;

在 AppDelegate.m 中:

@synthesize myProp;

然后在 XIB 文件中,我打开了按钮的 Enabled 属性的绑定(bind)编辑器。我已启用绑定(bind)并将其设置为“App Delegate”。对于我选择的模型关键路径:

self.myProp

当我运行应用程序并切换属性的值时,什么也没有发生。该按钮不会更改其启用状态。为什么?

最佳答案

当你分配给属性时,你是通过self.myProp = foo还是myProp = foo来完成的?后者使用直接 ivar 访问,绕过 KVO (键值观察,绑定(bind)的基础组件)。您可以manually trigger KVO notifications ,但更好的选择几乎总是通过 setter 方法进行分配(如 self. 所做的那样)并获取 automatic change notification隐式地。

请注意,为了让它生成 setter,您需要私下将您的属性重新声明为可读写,您可以使用 class extension 来完成此操作。 .

关于objective-c - GUI 元素对属性的变化没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555137/

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