343

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

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

是否可以将 转换NSURLNSString

4

7 回答 7

694

在 Objective-C 中:

NSString *myString = myURL.absoluteString;

在斯威夫特:

var myString = myURL.absoluteString

文档中的更多信息:

于 2011-11-10T16:23:04.530 回答
135

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

[myUrl absoluteString];

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

[myUrl path];
于 2011-11-10T16:24:36.943 回答
47

在 Swift 中试试这个:

var urlString = myUrl.absoluteString

目标-C:

NSString *urlString = [myURL absoluteString];
于 2011-11-10T16:24:11.717 回答
17

快速更新:

var myUrlStr : String = myUrl.absoluteString
于 2014-06-16T18:33:54.283 回答
1

我只是和这个东西打了一架,这个更新没有用。

这最终在 Swift 中实现了:

let myUrlStr : String = myUrl!.relativePath!
于 2016-02-17T12:15:20.827 回答
1

您可以使用任何一种方式

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

或者

NSString *str=[url1 absoluteString];

NSLog(@"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

于 2017-03-30T09:32:29.047 回答
-1

在 Swift 中:- var str_url = yourUrl.absoluteString

它将产生一个字符串中的 url。

于 2018-07-24T11:01:05.333 回答