On 10 Jun 2012, at 10:45, Markus Spoettl wrote:

> 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.

Do you override any of the old -save… methods? If so, the document architecture 
figures they need to be called, so won’t attempt an async save.


_______________________________________________

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

Reply via email to