gpt4 book ai didi

cocoa - Cocoa 绑定(bind)如何防止更改监听器中的循环?

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

Apple 的 Cocoa 绑定(bind)文档中有一些图表,位于 "Bindings Message Flow" 部分。 。这些图显示了事件观察者的典型模式。在第二个图中,标记为“用户更新用户界面中的值”,它显示了方法调用如何从 NSTextField 中的更改流向模型。在模型的最后一步中,它说“观察通知被发送到该模型属性的观察者”。让我感到困惑的是,启动更改的 NSTextField 本身就是模型的观察者,因此现在它将收到其引起的更改的通知。此流程如第一个图表“更改模型属性的值”所示。

我没有任何示例代码,我只是想理解设计。 Cocoa 是否采取了一些措施来阻止这种不必要的通知?它是如何工作的?

相关:我最近一直在使用 Angular。这是思考模型 View 绑定(bind)和更改传播的不同方式的示例。我不确定我是否喜欢它。根据 Angular 开发人员的说法,描述了更改监听器的一些问题 here

最佳答案

如果要求 TextView 更改其对象值,则简单的指针或对象相等性检查就足够了(如果值相同,则无需更改),但我不确定这到底是发生了什么在这里。

关于cocoa - Cocoa 绑定(bind)如何防止更改监听器中的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502901/

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