2

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

我目前正在使用fileURL != nil,但在文档中找不到任何地方可以证实这一点。

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

4

2 回答 2

1

答案是-[NSDocument draft]

https://developer.apple.com/documentation/appkit/nsdocument/1515065-draft

于 2017-11-18T19:16:53.223 回答
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;
}
于 2012-08-30T00:08:10.770 回答