gpt4 book ai didi

objective-c - Cocoa:获取 TableView 单元格来发送操作消息

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

我真的很难让 Cocoa Table View 单元格发送操作消息。

在最基本的层面上,在 IB 中,为 NSTextViewCell 对象分配了一个操作,并且在编辑并按 Return 后没有任何反应。

所以我有一个 IBOutlet 连接到 NSTextViewCell,并且一直在尝试向它发送 NSActionCell 消息。但 TableView 似乎几乎忽略了它们。

我也尝试过对 NSTextViewCell 进行子类化,但我看到的所有方法看起来都像是想从某个地方将值传递给对象,而不是从对象内部返回值来配置其行为。

我对编程和 Cocoa 还很陌生——有人可以解释一下需要覆盖的每件事以及如何以及在哪里进行覆盖吗?

最佳答案

据我所知,NSTableView 中的单元格不会将操作消息发送到您的应用程序,它们会发送到 NSTableView,以便它可以更新其数据。 NSTableView 本身尝试非常聪明并直接更新您的数据,而不是仅仅告诉您发生了某些更改,因此根据您想要执行的操作以及表的数据源是什么,您有几个选择。

如果您使用 NSTableViewDataSource 对象来填充表,则很简单;只需实现 tableView:setObjectValue:forTableColumn:row: ,每次编辑内容时 NSTableView 都会调用它。

如果您使用 Cocoa 数据绑定(bind)(例如,使用 NSArrayController 将对象数组绑定(bind)到表),那么只要所有内容都正确连接,数据应该会自动在源对象中更新当编辑表格时。如果您需要采取特殊操作,那么您可以在数据类的属性 setter 中执行任何您需要的操作。

关于objective-c - Cocoa:获取 TableView 单元格来发送操作消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2531453/

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