Re: NSDocument -canAsynchronouslyWriteToURL::: never called
Re: NSDocument -canAsynchronouslyWriteToURL::: never called
- Subject: Re: NSDocument -canAsynchronouslyWriteToURL::: never called
- From: Markus Spoettl <email@hidden>
- Date: Sun, 10 Jun 2012 19:45:29 +0200
DeprecatedOn 6/10/12 7:21 PM, Markus Spoettl wrote:
Keeping the list server busy while everyone else seem to have better things to
do...
Is there an magic trick to get the framework to actually call NSDocument's
- (BOOL)canAsynchronouslyWriteToURL:(NSURL *)url ofType:(NSString *)typeName
forSaveOperation:(NSSaveOperationType)saveOperation
I'd like to do as the documentation suggests and put the document writing into a
background tread (if you follow the little flood of NSDocument related messages
you know why). Documentation says:
--------
The default implementation of this method returns NO. You are strongly
encouraged to override it and make it return YES, after making sure your
overrides of document writing methods can be safely invoked on a non-main
thread, and making sure that unblockUserInteraction is invoked at some
appropriate time during writing.
--------
There's no precondition listed, but there seems to be one as my override is
never called. Why?
Well, it suddenly started working and the reason is that apparently you need to have
-saveToURL:ofType:forSaveOperation:completionHandler:
overwritten. If you don't you just don't get to use background writing.
Overwriting this method does the trick. One would think that the existence of
-canAsynchronouslyWriteToURL:ofType:forSaveOperation:
should be indication enough that one really, truly wants to use it. I have a
suspicion that it has to do with my overwriting of
-saveToURL:ofType:forSaveOperation:error:
which as of 10.7 is deprecated in favor of a 10.7 version:
-saveToURL:ofType:forSaveOperation:completionHandler:
Of course that's no good if you want to support 10.6 as well.
Regards
Markus
--
__________________________________________
Markus Spoettl
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden