如何持久化 NSPredicateEditor NSPredicateEditorRowTemplates 数据

Posted

技术标签:

【中文标题】如何持久化 NSPredicateEditor NSPredicateEditorRowTemplates 数据【英文标题】:How can I persist NSPredicateEditor NSPredicateEditorRowTemplates data 【发布时间】:2016-12-14 15:56:46 【问题描述】:

我一直在努力在Swift 项目的会话之间获取输入到NSPredicatEditor 中的信息。

任何指导或样品将不胜感激。

到目前为止我所得到的。

    在操作表中实现的功能性谓词编辑器。 绑定谓词到 NSArrayController 也绑定到 CoreData 表。 一种基于 CoreData 表属性生成行模板的方法。

什么不工作。

绑定到predicateditor 的预测变量不会出错 也能够将谓词与行模板匹配 awakefromnib 似乎是检查行模板所在的位置 此时未从 InterfaceBuilder 初始化(nil)

我希望能够做什么 使用NSUSerDefaults 持久化谓词编辑器的内容,以便在重新启动应用程序时,此编辑器具有上次输入的数据。

【问题讨论】:

编辑问题,格式化并突出重点。 【参考方案1】:

通过设置编辑器的objectValue 属性来加载之前保存的谓词。

predicateEditor.objectValue = predicate

设置谓词编辑器后,您通常会向其发送objectValue 消息以恢复已保存的谓词。 source

听起来您可能有一个复杂的设置,涉及 Interface Builder、数组控制器、Core Data、绑定等。改为通过代码尝试:加载行模板,然后加载谓词。

【讨论】:

以上是关于如何持久化 NSPredicateEditor NSPredicateEditorRowTemplates 数据的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NSPredicateEditor 会自动本地化一些表达式字符串?如何禁用?

如何将 NSPredicateEditor/NSRuleEditor 背景设置为交替行?

如何在不同的数据上使用 NSPredicate 和 NSPredicateEditor(多个谓词?)

如何更改 NSPredicateEditor 行模板中左表达式的顺序?

使用 NSPredicateEditor 编辑 NSPredicate

关闭 NSPredicateEditor 动画