带有核心数据的 TableView:从 windowShouldClose 调用 saveAction

Posted

技术标签:

【中文标题】带有核心数据的 TableView:从 windowShouldClose 调用 saveAction【英文标题】:TableView with Core Data: call saveAction from windowShouldClose 【发布时间】:2012-09-18 17:59:54 【问题描述】:

我有一个绑定到核心数据实体的 TableView,并且我的 AppDelegate 中有一个 saveAction 方法。

首先,我在 AppDelegate 中创建一个链接到 saveAction 的按钮。当我单击按钮时,saveAction 方法会很好地触发并保存数据。

我想在关闭窗口时触发同样的功能,所以我在 AppDelagate 中创建了以下内容:

- (BOOL)windowShouldClose:(id)sender
    // Breakpoint here is reached.
    [self saveAction:sender];
    return true;

当我关闭窗口时,到达断点,saveAction 运行,但没有保存任何内容。我可以确定的唯一区别是,当单击按钮时,saveAction 接收到 NSButton 的发送者,但是当通过 windowShouldCLose 触发时,发送者被记录为 NSWindow。

我有什么遗漏吗?很可能对这一切都很陌生。任何建议将不胜感激。

【问题讨论】:

您在控制台中是否收到任何错误消息? 【参考方案1】:

我遇到了几乎相同的问题 - 添加后已修复:

在界面生成器中,选择您希望控制“应该关闭”功能的窗口,然后打开连接检查器...您的引用插座和 AppDelegate 之间必须有连接,但您还必须在它们之间建立连接名为“Delegate”和 AppDelegate 的插座(在我的情况下,默认情况下我只有第一个,用这个“应该关闭”功能生气好几天,添加第二个后一切都会突然好起来......)

【讨论】:

以上是关于带有核心数据的 TableView:从 windowShouldClose 调用 saveAction的主要内容,如果未能解决你的问题,请参考以下文章

tableView 中显示的核心数据关系

不同 tableView 部分中的核心数据对象

核心数据:如何从警报中更新 TableView 字段?

TableView 由于核心数据错误而崩溃/冻结

iPhone - UITableViewController 和核心数据行在 tableView 中重复

从核心数据中按日期对 TableView 进行排序 - Swift4