In my document app I prompt users to save when switching views via: NSDocument -canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo
I can call this once successfully after which I receive a sheet saying: This document’s file has been changed by another application since you opened or saved it. I figure this is related to -fileModificationDate, but I do update this (without effect) when saving (see below). I also note that in -saveToURL:etc I don't actually need or want to create the file indicated by the url argument. So perhaps that triggers the file modification warning? And so it turns out; the following NSDocument override prevents the display of the warning sheet: - (NSDate *)fileModificationDate { return nil; } This question is whether the above is just a rotten hack or is actually consistent with the internal operation of NSDocument. I have customised NSDocument saving like so: - (void)saveDocument:(id)sender { [self saveDocumentModel:self]; } - (void)saveToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation completionHandler:(void (^)(NSError *errorOrNil))completionHandler { // this method will be called when attempting to close an edited document [self saveDocumentModel:self]; // the completion handler will close the window if required completionHandler(nil); } - (void)saveDocumentModel:(id)sender { // persist changes in the managed data store. [self.entities saveChanges]; // clear the document edited status [self updateChangeCount:NSChangeCleared]; [self setFileModificationDate:[NSDate date]]; // likely pointless in this case } Jonathan _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com