On Apr 15, 2009, at 1:34 PM, Jean-Daniel Dupas wrote:

Le 15 avr. 09 à 01:57, Dragan Milić a écrit :

Hell all,

Let's suppose I've got NSString @"C:omponent" , which represents the name of a file. Is there a way to instruct NSString class not to treat a leading single letter followed by a column as a path separator? Namely, I need this one treated as only one path component @"C:omponent", but NSString sees two, @"C:" and "omponent". So, if I ask for the last path component, I get @"omponent" instead of the whole string @"C:omponent".

I've searched documentation, took a look into NSPathUtilities.h, but no help.


You can use the CFURL API which provide a set of function to manipulate path, but due to memory management, it's not as clean than the Cocoa string API (objects are not autoreleased).

        • CFURLCreateCopyAppendingPathComponent
        • CFURLCreateCopyAppendingPathExtension
        • CFURLCreateCopyDeletingLastPathComponent
        • CFURLCreateCopyDeletingPathExtension

CFURLCopyPathExtension
CFURLCopyLastPathComponent

etc…

Or to stay entirely in Cocoa-land, you could always use

NSArray* components = [filePath componentsSeparatedByString:@"/"];
NSString* lastPathComponent = [components objectAtIndex:([components count] - 1)];

Not quite as straightforward as the methods in NSPathUtilities but it would certainly work around the colon issue...

_______________________________________________

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

This email sent to arch...@mail-archive.com

Reply via email to