Re: NSString / NSURL
Re: NSString / NSURL
- Subject: Re: NSString / NSURL
- From: Amy Heavey <email@hidden>
- Date: Sun, 29 Aug 2010 11:20:33 +0100
Thank You!
I had been trying to do that but couldn't get the brackets right,
sometimes you just need to start a fresh line instead of trying to
edit don't you.
That's working now and is perfect,
Thank you for your time and help everyone,
Many Thanks
Amy
On 29 Aug 2010, at 10:43AM, Roland King wrote:
NSFileManager copyItemAtPath:toPath: takes two NSString's so you
can't use an NSURL anyway. In fact nothing in that code needs an
NSURL.
Get rid of that NSURL stuff (note: typed in mail)
NSString *imagePath = [ [ [ self applicationSupportFolder ]
stringByAppendingPathComponent:@"images" ]
stringByAppendingPathComponent:fileName ];
then just use the imagePath.
On 29-Aug-2010, at 5:23 PM, Amy Heavey wrote:
Thanks everyone, I've been looking at everything and still can't
quite get my head round it, basically all I want to do is copy a
selected file to a new location.
I'm using a coredata app, so I was trying to follow the 'default'
code provided, but I'm compiling for 10.5 and it seems there's a
bit of flux between string based paths and urls.
Is there sample code / tutorial somewhere I'm missing?
This is what I've got at the moment, but it's still mixing URLs and
strings, I've tried just using strings, but the
applicationSupportFolder returns a string, which then is immutable
so I can't add to it?
- (IBAction)selectImageFile:(id)sender;
{
// Create the File Open Dialog class.
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
// Enable the selection of files in the dialog.
[openDlg setCanChooseFiles:YES];
// process the files.
if ( [openDlg runModalForDirectory:nil file:nil] == NSOKButton )
{
// Get an array containing the full filenames of all
// files and directories selected.
NSArray* files = [openDlg filenames];
// process file
NSObject *Product;
Product = [[Products selectedObjects] objectAtIndex:0];
NSString* filePath = [files objectAtIndex:0];
NSString* fileName= [filePath lastPathComponent];
NSURL* imagePath = [NSURL fileURLWithPath: [[self
applicationSupportFolder] stringByAppendingPathComponent:
@"images"]];
-->>Here are 2 warnings that NSURL may not respond to
stringByAppendingPathComponent
[imagePath stringByAppendingPathComponent:fileName];
NSLog(@"Old Path is %@ New Path is %@", filePath, imagePath);
[[ NSFileManager defaultManager ] copyItemAtPath:filePath
toPath:imagePath error:nil];
//[Product setValue:imagePath forKey:@"productImage"];
}
Many Thanks
Amy
On 29 Aug 2010, at 9:30AM, Graham Cox wrote:
On 29/08/2010, at 10:14 AM, Amy Heavey wrote:
I still get an error:
On what line?
Looking at the code you have mixed string paths and URLs. Pick one
or the other and use it consistently. While string paths are
becoming deprecated in favour of URLs, it might be easier to just
use string paths initially to get it working and then convert to
URLs throughout afterwards.
For example, [NSOpenPanel filenames] is deprecated, as it returns
the selected files as strings. Use [NSOpenPanel URLs] if you want
to use URLs. Similarly for [NSFileManager
copyItemAtPath:toPath:error] use [NSFileManager
copyItemAtURL:toURL:error].
Mixing two different representations of a file path is what is
causing you problems here. Be consistent.
--Graham
_______________________________________________
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
_______________________________________________
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
_______________________________________________
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
_______________________________________________
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