将NSURL转换为NSString

问题描述 投票:328回答:7

我有一个应用程序,用户可以从内置的应用程序图像或从iPhone照片库中选择图像。我使用具有NSString属性的对象Occasion来保存imagePath

现在在内置的应用程序图像的情况下,我得到文件名作为NSString保存在[occasion imagePath]。但是在用户从照片库中选择图像的第二种情况下,我得到了一个NSURL,我想将其转换为NSString以便能够将其保存在[occasion imagePath中]。

有可能将NSURL转换为NSString吗?

ios objective-c swift nsstring nsurl
7个回答
670
投票

在Objective-C中:

NSString *myString = myURL.absoluteString;

在Swift中:

var myString = myURL.absoluteString

更多信息在docs


127
投票

如果你对纯字符串感兴趣:

[myUrl absoluteString];

如果您对URL表示的路径感兴趣(例如,与NSFileManager方法一起使用):

[myUrl path];

45
投票

在Swift中试试这个:

var urlString = myUrl.absoluteString

Objective-C的:

NSString *urlString = [myURL absoluteString];

17
投票

Swift更新:

var myUrlStr : String = myUrl.absoluteString

1
投票

我只是为这件事而奋斗,这个更新不起作用。

这最终在Swift中做到了:

let myUrlStr : String = myUrl!.relativePath!

1
投票

你可以使用任何一种方式

NSString *string=[NSString stringWithFormat:@"%@",url1];

要么

NSString *str=[url1 absoluteString];

NSLog(@"string :: %@",string);

string :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAAA1F7476071FE/RemoDuplicateMedia.app/loading_circle_animation.gif

NSLog(@"str :: %@", str);

str :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAA-A1F7476071FE/RemoDuplicateMedia.app/loading_circle_animation.gif


-1
投票

在Swift中: - var str_url = yourUrl.absoluteString

它会在字符串中生成一个url。

© www.soinside.com 2019 - 2024. All rights reserved.