• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSDocument save incremental file package in-place
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSDocument save incremental file package in-place


  • Subject: Re: NSDocument save incremental file package in-place
  • From: Trygve Inda <email@hidden>
  • Date: Sun, 02 Mar 2014 07:12:58 -0800
  • Thread-topic: NSDocument save incremental file package in-place

>> A follow up...
>>
>> Adding this to my NSDocument subclass:
>>
>> - (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName
>> forSaveOperation:(NSSaveOperationType)saveOperation
>> originalContentsURL:(NSURL *)absoluteOriginalContentsURL error:(NSError
>> **)outError
>> {
>>    NSError* error;
>>
>> NSFileWrapper* myFileWrapper = [self fileWrapperOfType:@"MyPackageType"
>> error:&error];
>>
>> [myFileWrapper writeToURL:absoluteURL
>> options:NSFileWrapperWritingWithNameUpdating
>> originalContentsURL:absoluteOriginalContentsURL error:&error];
>>
>>    return (YES);
>> }
>>
>>
>> This still takes 40 seconds
>
> Alright, I’m running low on ideas now. But if you can make a sample project
> that exhibits the issue, I’ll cheerfully take a look at that.
>
>

Here is a test project, built from Apple's Cocoa document template.

http://www.xericdesign.com/archive/FilePackageTestProject.zip


You'll need to provide your own package of type "mydoc". It can be anything
at all... Preferably a few thousand files. The entire Document subclass for
I/O is:

-(BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper ofType:(NSString
*)typeName error:(NSError **)outError
{
    [self setDocumentFileWrapper:fileWrapper];

    return YES;
}


-(NSFileWrapper *)fileWrapperOfType:(NSString *)typeName error:(NSError
**)outError
{
    return documentFileWrapper;
}

Opening a package is instantaneous, but immediately saving that same package
takes 40 seconds with my 7500-file test package.

Surely I am doing something wrong here and it can be made to go much faster,
right?

Trygve




_______________________________________________

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


References: 
 >Re: NSDocument save incremental file package in-place (From: Mike Abdullah <email@hidden>)

  • Prev by Date: Re: NSDocument save incremental file package in-place
  • Next by Date: Re: NSDocument save incremental file package in-place
  • Previous by thread: Re: NSDocument save incremental file package in-place
  • Next by thread: Re: NSDocument save incremental file package in-place
  • Index(es):
    • Date
    • Thread