首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么人们倾向于将NSURL存储为NSString

为什么人们倾向于将NSURL存储为NSString
EN

Stack Overflow用户
提问于 2014-07-29 01:20:03
回答 2查看 260关注 0票数 1

在互联网上和这里,我都看到了类似这样的代码

代码语言:javascript
复制
NSString *imageUrl = [NSString stringWithFormat:@"%@",[info valueForKey:UIImagePickerControllerReferenceURL]];

然后

代码语言:javascript
复制
NSURL *url = [[NSURL alloc] initWithString:imageUrl];

为什么不直接存储NSURL呢?是因为优化吗?NSString的存储成本会这么低吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-29 01:34:54

很多时候,这似乎不是空间问题(如果NSString不包含任何其他特定数据,那么存储NSURL会更有效,但在大多数应用程序中不会产生影响)。

实际上,将URL存储为字符串的最常见的原因是,这是我们自己看待URL的方式--只是字符串。

最后,最适用/最具体的选择通常是最好的--NSURL表示“一个可能包含远程服务器上资源的位置、磁盘上的本地文件的路径,甚至是任意编码数据的路径的URL”(来源),而NSString只是表示一串文本--如果一个URL是您想要的,那么使用NSURL

(NSString的一个明显的优点是它们更易于移植--但如果需要的话,NSURL也可以序列化和移动!)

票数 2
EN

Stack Overflow用户

发布于 2014-07-29 01:25:19

NSString是比较普遍使用的。例如,AFNetworking使用字符串而不是NSURL。此外,如果您需要将此URL作为参数发送到web服务器,则还需要字符串格式的URL。

在Obj中,延迟实例化只是一个很好的实践。只在需要时才创建对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25006844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档