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