【问题标题】:Suggested save name of an untitled NSDocument无标题 NSDocument 的建议保存名称
【发布时间】:2012-03-06 07:51:41
【问题描述】:

有没有办法为(无标题文档的)初始保存对话框建议一个文件名,以用于 nsdocument 框架中的文档?

【问题讨论】:

    标签: macos cocoa nsdocument


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      在 Mac OS X v10.7 及更高版本中:

      - (void)setDisplayName:(NSString *)displayNameOrNil
      

      v10.6,在您的 NSDocument 子类中覆盖:

      - (BOOL)prepareSavePanel:(NSSavePanel *)savePanel
      {
          if( [savePanel.nameFieldStringValue isEqualToString:@"Untitled"] )
              [savePanel setNameFieldStringValue:@"hello"];
      
          return [super prepareSavePanel:savePanel];
      }
      

      事实上,默认实现是空的并返回 YES,所以可以这样做。

      不确定是否要测试“无标题”,如果他们已经保存为“无标题”并希望保留该名称,则可能无法本地化,因此可能会在其中设置一个标志

      - (id)initWithType:(NSString *)type error:(NSError **)error
      

      还是已经有了?

      【讨论】:

      • 感谢您的建议。在 v10.6 和 v10.7 上进行此实现。测试 fileURL:path 是否为非零,以确保该文件尚未保存为 Untitled.ext。
      • 当您不立即知道应该使用的显示名称时,这非常有用。例如,我的应用设置无标题文档的显示名称以匹配文档中的标题字段;当然,保存的文档会显示实际的文件名。 -defaultDraftName 有它的用途,但没有同样的灵活性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多