web-dev-qa-db-ja.com

NSStringをNSURLに追加しますか?

NSURLとファイルパスがあり、その末尾(ファイル名)にNSStringを追加したいのですが、どうすればよいですか?しかし、この後は、すべてをNSURLにしたくありません。

ありがとう。

25
Josh Kahane

私はそれが次のように簡単だと思います:

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

私はそれが良い解決策だと思います:

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

Swiftでは、次のことができます。

var bURL = aURL.URLByAppendingPathComponent( "newString" )

URLがディレクトリであるかどうかを指定することもできます。

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

ディレクトリへのファイルNSURLがあり、ファイル名が追加されたNSURLのパスを含むNSStringになりたい場合は、次を使用します。

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;
4
Jim Luther