将NSString附加到NSURL?

时间:2011-03-14 19:25:31

标签: objective-c macos nsstring append nsurl

我有一个NSURL,一个文件路径,我想在它的末尾添加一个NSString(文件名)我该怎么做?但在此之后我不希望整个事情成为NSURL。

感谢。

3 个答案:

答案 0 :(得分:104)

我认为这是一个很好的解决方案:

NSURL *bUrl = [aUrl URLByAppendingPathComponent:@"newString"];

在Swift中你可以做到以下几点,

var bURL = aURL.URLByAppendingPathComponent( "newString" )

您还可以说明URL是否是目录,

var bURL = aURL.URLByAppendingPathComponent( "newString", isDirectory: true )

答案 1 :(得分:8)

我认为这很简单:

    NSString *s = [aUrl.path stringByAppendingString:@"newString"];

答案 2 :(得分:3)

如果你有一个文件NSURL到一个目录,并且你想要一个NSString包含NSURL的路径并附加一个文件名,请使用:

NSURL *url = [NSURL fileURLWithPath:@"/System" isDirectory:YES];
NSString *filename = @"foo";
NSString *result = [url.path stringByAppendingPathComponent:filename];

您也可以使用URLByAppendingPathComponent,但这会增加额外的步骤,从而创建一个不需要的额外NSURL对象。

NSURL *url = [NSURL fileURLWithPath:@"/System" isDirectory:YES];
NSString *filename = @"foo";
NSURL *newURL = [url URLByAppendingPathComponent:filename];
NSString *result = newURL.path;