检查NSDocument是否是新的

时间:2012-08-29 18:21:13

标签: macos cocoa nsdocument document-based

你怎么知道NSDocument是否是新的?

我目前正在使用fileURL != nil,但我在文档中找不到任何确认此内容的地方。

此外,fileURL会在已恢复的文档中返回nil(退出应用后不保存,然后再次打开应用)。是否可以区分新文档和恢复的文档?

2 个答案:

答案 0 :(得分:0)

通过反复试验:

- (BOOL) readFromURL:(NSURL *)url ofType:(NSString *)typeName error:(NSError *__autoreleasing *)outError {
    self.isNew = NO; // New documents don't call this method

    BOOL success = [super readFromURL:url ofType:typeName error:outError];

    // This must go after calling super
    self.isSaved = self.fileURL != nil; // Saved documents set fileURL
    self.isUnsaved = self.fileURL == nil; // Unsaved/restored documents don't set fileURL. The url parameter points to a temporary folder.

    return success;
}

答案 1 :(得分:0)