应用程序是同一数据类型的查看器和编辑器?

时间:2014-03-10 05:23:48

标签: cocoa nsdocument

NSDocument系统主要用于读取和写入特定数据类型的文件。那些需要只读和读写的类型呢?我正在计划一个电子邮件应用程序;它需要一个读写文档类型,用于在发送之前编写消息,以及一个只读类型,用于查看已发送的消息(来自已发送邮件文件夹)。 Mail.app的工作原理如下。

这是作为两个NSDocument子类完成的吗? (他们会为他们的模型类使用相同的RFC822类。)如何将一种文档类型设为只读?

2 个答案:

答案 0 :(得分:0)

它仍然是一份文件。您只需显示一个用于编辑的其他UI。 对于电子邮件,您只能显示New或Reply / Reply All / forward操作方法的编辑。 (视情况引用原始邮件。) 从技术上讲,您可以在任何可以打开文件的编辑器中打开“只读”邮件文件。

答案 1 :(得分:0)

最简单的方法之一是创建一个BOOL saying isReadOnly`。

如果其值为YES(只读模式),则NSTextView只读NO(编辑模式)使其成为默认值,即读取&写入已启用。

以下内容适用于您的BOOL isReadOnly;

[self.yourTextView setEditable:isReadOnly];