Convert an NSURL to an NSString
我有一个应用程序,用户可以从内置的应用程序图片或iPhone照片库中选择图片。我使用一个拥有NSString属性的对象场合来保存imagePath。
现在,对于内置的应用程序映像,我得到的文件名是NSString,这是[occasion imagePath]中的一个保存。但是在第二种情况下,如果用户从照片库中选择一个图像,我会得到一个NSURL,我想将其转换为NSString,以便能够将其保存在[occasion imagePath中。
是否可以将NSURL转换为NSString?
与基于Objective-C的: </P >
1
| NSString *myString = myURL.absoluteString; |
快捷: </P >
1
| var myString = myURL.absoluteString |
不能在文档信息: </P >
- 谢谢。我不知道我看医生时怎么会错过。
- @阿里可能是因为名字不好
如果你interested和纯粹的字符串: </P >
如果你interested和路represented通过URL(和可用于与NSFileManager方法例如): </P >
- 嗨,谢谢你的回答。当我试图从我保存的压力中加载图像时,我真的很感兴趣您提到的使用nsvillemanager和[myUril path];的方法,当我使用路径而不是绝对化时,它给了我一个名称asset.jpg,您能不能请我更详细地使用它来将图像加载到uiimage实例中?
- 你好。当然,从文件名获取真正的文件系统路径,您需要知道文件存储在哪里,然后使用nsstring的stringbyappendingpathcomponent.组合它们来创建完整路径(directory+file name)。此规则的唯一例外是,当您知道图像存储在应用程序包中时,在这种情况下,您只需使用[uiimage imagename:"name"]调用,它为您完成全部任务。但在其他情况下,您必须指定完整的路径。
- 嗨,谢谢你的回答。我仍然对如何使用这个nsstring assets-library://asset/asset.JPG?id=1000000001&ext=JPG将图像加载到uiimage感到困惑,我保存了这个nsstring assets-library://asset/asset.JPG?id=1000000001&ext=JPG在转换成nsstring后将[myUrl absoluteString]的结果转换。我在这方面提出了这个问题,但没有得到答案。如果你能回答这个问题,我将不胜感激[stackoverflow.com/questions/8085267/…
- 是的,我们应该使用myurl.path而不是myurl.absoluteString,当您想与nsfilemanager一起使用时,谢谢viggo24!!
- 由于您有一个assets-libraryURL,而不是fileURL,因此它与NSFileManager不兼容。访问这些URL是由ALAssetsLibrary严格控制的。
- 这是更准确的答案,因为它显示了NSURL的不同字符串表示形式。有时,像和nsvillemanager一起工作,绝对化的处理没有帮助。
- 如果nsurl为零会发生什么。是否会出现致命错误:在解包可选值时意外发现nil
- 在目标C中没有可选值。发送到nil的所有消息返回0。
尝试这种快捷的: </P >
1
| var urlString = myUrl.absoluteString |
基于Objective-C的: </P >
1
| NSString *urlString = [myURL absoluteString]; |
- 我使用了nsstring*urlstring=[myurl absoluteString];但是我遇到了这个错误,xcode崩溃了。-[uu nscfstring absoluteString]:发送到实例0x791a18e0的无法识别的选择器
- @这意味着你的myURL是nsstring类的对象。由于nsstring没有absoluteString方法,因此会导致崩溃。
快速的更新: </P >
1
| var myUrlStr : String = myUrl.absoluteString |
- 您可以省略String,因为swift使用类型推断。
- 实际上,您应该省略String——Swift设计指南试图尽可能少地实现冗余代码。
你可以使用任何一路 </P >
1
| NSString *string=[NSString stringWithFormat:@"%@",url1]; |
肺心病 </P >
1 2 3
| NSString *str=[url1 absoluteString];
NSLog(@"string :: %@",string); |
string :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAAA1F7476071FE/RemoDuplicateMedia.app/loading_circle_animation.gif
1
| NSLog(@"str :: %@", str); |
str :: file:///var/containers/Bundle/Application/E2D7570B-D5A6-45A0-8EAA-A1F7476071FE/RemoDuplicateMedia.app/loading_circle_animation.gif
我只是个非常fought这东西和这没更新的工作。 </P >
这eventually没有快捷: </P >
1
| let myUrlStr : String = myUrl!.relativePath! |
快捷: VaR _ = yoururl.absolutestring页的URL </P >
它将一个URL字符串和结果。 </P >