你怎么知道aNSDocument
是否是新的?
我目前正在使用fileURL != nil
,但在文档中找不到任何地方可以证实这一点。
此外,在恢复的文档中fileURL
返回nil
(退出应用程序而不保存,然后再次打开应用程序后)。是否可以区分新文档和恢复的文档?
你怎么知道aNSDocument
是否是新的?
我目前正在使用fileURL != nil
,但在文档中找不到任何地方可以证实这一点。
此外,在恢复的文档中fileURL
返回nil
(退出应用程序而不保存,然后再次打开应用程序后)。是否可以区分新文档和恢复的文档?
答案是-[NSDocument draft]
。
https://developer.apple.com/documentation/appkit/nsdocument/1515065-draft
通过反复试验:
- (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;
}