gpt4 book ai didi

cocoa - NSTableView绑定(bind)如何添加一行

转载 作者:行者123 更新时间:2023-12-03 16:18:06 26 4
gpt4 key购买 nike

我正在开发一个具有此界面的应用程序(抱歉,语言是荷兰语):

http://www.flickr.com/photos/pluueer/5756159100/

NSTableView 下的 Add 功能(包括四个 NSTextField)有一天会移至工作表中,但目前还可以。我已经根据教程(http://cocoadevcentral.com/articles/000080.php)设置了绑定(bind),但是该教程没有提供如何按照我想要的方式添加行(只是添加一个空行,您需要在 NSTableView 中进行编辑)。

我在“Voeg toe”(荷兰语“添加”)按钮和阵列 Controller 之间建立了连接。但点击后我收到消息:

2011-05-28 23:37:56.149 Hop Calc[4345:a0f] -[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (4)

这是有道理的,因为我还没有实现任何添加行的功能,但我只是不知道如何实现。

最佳答案

“向表中添加一行”的想法是错误的。您的表代表一个集合, Controller 向表提供信息,在表( View )和集合(模型)之间进行中介。由于您提到了绑定(bind),该集合可能由 NSArrayController 管理。因此,您想要将一个新对象(数组 Controller 管理的类型)添加到数组 Controller 的内容数组中。

最简单的方法:将“添加”按钮连接到 NSArrayController 的 -add: 操作。它将添加一个空行。

如果您想要更多控制,请将“添加”按钮连接到某些 Controller 中您自己的自定义操作。该操作将创建数组 Controller 所代表的任何内容的实例,预填充它(或您想要执行的任何操作),然后使用它保存到 NSArrayController 的 socket ,将调用数组 Controller 的 -addObject: 方法来添加对象(可能是 -rearrangeObjects 调用来让数组 Controller 重新排序其内容)。

关于cocoa - NSTableView绑定(bind)如何添加一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164505/

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