gpt4 book ai didi

cocoa - NSDocument 检测何时创建新文档而不是恢复保存的文档

转载 作者:行者123 更新时间:2023-11-28 11:20:35 24 4
gpt4 key购买 nike

我发现我的基于文档的应用程序的架构存在一个主要问题。基本上是将模型(一个简单的字符串)存储在一个全局变量中,每次字段中的文本发生变化时。我让文档将此字符串保存为数据,并使用此数据恢复重新打开的文件。

现在,我现在看到的主要问题是,如果我恢复任何已保存的文件,我会在文档“readFromData”函数(有效)中填充文档中的全局变量。

但是如果我创建一个新文档,“readFromData”永远不会被调用,所以我无法将全局字符串设置为“”,因此我的新文档全局变量仍然填充了最后保存的字符串。 (我使用它在加载时将字符串放回 TextView 。

因此,作为一个简单的解决方法,我需要能够使用一个自动调用且仅在创建新文档时调用的函数,将我的全局变量设置回“”。

我找不到我可以覆盖的函数。存在吗..?

最佳答案

我不确定我明白你想做什么。

你可以使用这个 NSDocument 初始值设定项:

/* Initialize a new empty document of a specified type,
and return it if successful.

You can override this method to perform initialization that
must be done when creating new documents but should not be done
when opening existing documents.
*/
- (instancetype)initWithType:(NSString *)typeName error:(NSError **)outError;

在初始创建文档时,每个文档只调用一次。保存到磁盘后打开文档时不会调用它。

关于cocoa - NSDocument 检测何时创建新文档而不是恢复保存的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484294/

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