Thanks very much for this info. I've been coding in Cocoa all year, but I'm 
still a newbie to plenty of stuff, including this.

I have developed code that does permit me to append the file extension to the 
filename:

- (IBAction) saveDocumentAs:(id)sender
{
    NSSavePanel* theSavePanel = [[NSSavePanel alloc]init];
    [theSavePanel setDirectory:[path stringByExpandingTildeInPath]];
    [theSavePanel setPrompt:NSLocalizedString(@"Save",nil)];
    [theSavePanel setRequiredFileType:DESIREDFILEEXTENSION];

     //adapted in part from code in an Apple demo app
     void (^theSavePanelHandler)(NSInteger) = ^( NSInteger result )
     {
          NSURL *theDirectoryURL = [theSavePanel directoryURL];
        NSString *theDirectoryPath = [theSavePanel directory];
        NSString* theFilename = [theSavePanel filename];
          
          if( theDirectoryURL )
          {
               if( theDirectoryPath )
               {
                    fileName =  theFilename;     
                
                NSMutableArray* items = [NSMutableArray array];
                //Here's where your app stores its data - of a type for which 
encodeWithCoder has been implemented - 
                //in an NSMutableArray or other data structure accepted by 
NSKeyedArchiver
                [NSKeyedArchiver archiveRootObject: items toFile: theFilename];
               } // if
          } // if
     };
     
     [theSavePanel beginSheetModalForWindow: editorWindow
                                 completionHandler:theSavePanelHandler];
} 

That seems to work quite well.  After developing that code, I learned about the 
NSDocument method:

[self saveDocumentWithDelegate:self 
didSaveSelector:@selector(didSaveDocument:didSave:contextInfo:) 
contextInfo:nil];

If I'm using saveDocumentWithDelegate:didSaveSelector:contextInfo, what is the 
correct way for me to communicate the list of suitable extensions to the Save 
panel?




On Sep 3, 2011, at 3:33 PM, Quincey Morris wrote:

> On Sep 3, 2011, at 15:21 , Vik Rubenfeld wrote:
> 
>> I went to the XCode App Properties panel and added an Exported UTI with file 
>> extension of "CAQuickLook". However, saving the document, still does not 
>> append a file extension to the file name. 
>> 
>> What am I missing?
> 
> You're not missing anything. Saving a document does not append a file 
> extension to the file name.
> 
> You must provide the full file name, which includes the extension. Typically, 
> it gets the correct extension because the user is presented with a Save 
> panel, and *that* returns a file name to you with a suitable extension in 
> place already.
> 
> The Save panel gets the list of suitable extensions (and the default 
> extension within that list) from the document types that you've set up for 
> the app in Xcode.
> 
> 

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to