gpt4 book ai didi

cocoa 绑定(bind)问题;绑定(bind)表列不显示任何数据,控制台中没有错误

转载 作者:行者123 更新时间:2023-12-03 16:45:09 27 4
gpt4 key购买 nike

我在将 Cocoa 项目从手动同步接口(interface)模型转换为绑定(bind)模型时遇到问题,这样我就不必担心接口(interface)粘合代码。

我关注了 CocoaDevCentral Cocoa Bindings tutorial确保我已经涵盖了所有基础,但事情并没有正常工作。我有一个主从界面,但我什至无法让界面的主部分正常工作。尽管我已经设置了类似于教程中显示的绑定(bind)模型,但主列中没有显示任何数据。我已确保所有 Controller 和对象都具有 -(id)key-(void)setKey:(id)key 方法,以便它们符合绑定(bind)要求,我在 Nib 中创建了一个 ControllerAlias 对象,将其连接到我的 Controller ,创建了一个 NSArrayController,该 NSArrayController 绑定(bind)到 ControllerAlias 连接到的类中的 NSMutableArray 之一,确保设置了数组中包含的对象的类型,然后我将一个表列绑定(bind)到 NSArrayController。

我在控制台中没有收到任何错误,并且将 NSBindingDebugLogLevel 设置为 1 也不会产生任何错误,这将帮助我找出问题所在。

为了确保一切正常工作,我能想到的唯一一件事就是检查连接到 NSArrayController 的 NSMutableArray 中是否确实有东西,而且确实如此。

有什么建议吗?我应该检查 Cocoa 绑定(bind)还有哪些其他典型陷阱?

最佳答案

您是否在 key: 方法中放置了断点来确定它是否被调用?如果不是,则表明表列中的绑定(bind)未正确设置某些内容(因为您已验证数组中确实包含项目)。

我认为您不再需要创建对象 Controller (该教程有点过时了)。只需在您的 NIB 中创建一个对象,并将其类设置为您的 Controller 类。您可以直接通过它而不是 ObjectController 设置绑定(bind)。

要设置绑定(bind),我执行以下操作:

  1. 在 NIB 中创建我的 Controller 的实例。
  2. 创建一个 NSArrayController,将其绑定(bind)到我的 Controller 中的一个数组。
  3. 对于表中的每一列,将值绑定(bind)到数组 Controller 中对象的成员。

这应该是您需要做的全部 - 我认为自从绑定(bind)在几个版本前首次引入以来,他们已经清理了很多。

关于 cocoa 绑定(bind)问题;绑定(bind)表列不显示任何数据,控制台中没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275593/

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