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

标签 ios objective-c nsstring nsurl

在整个互联网以及此处的SO上,我都看到类似的代码

NSString *imageUrl = [NSString stringWithFormat:@"%@",[info valueForKey:UIImagePickerControllerReferenceURL]];

接着
NSURL *url = [[NSURL alloc] initWithString:imageUrl];

为什么不只存储NSURL?是因为优化吗? NSString存储起来便宜吗?

最佳答案

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

的确,将URL存储为字符串的最常见原因是我们自己想到URL的方式-简单来说就是字符串。

最后,最适用/特定的选择通常是最好的-NSURL表示“URL可能包含远程服务器上资源的位置,磁盘上本地文件的路径,甚至是任意一段编码数据((source),而NSString仅表示文本字符串-如果要使用URL,请使用NSURL

(NSString的一个明显优点是它们更具移植性,但是NSURL也可以序列化并在需要时进行移动!)

关于ios - 人们为什么倾向于将NSURL存储为NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25006844/

相关文章:

ios - 如何计算两个不相似矩形之间的比例因子

ios - iPhone 6 未显示完整布局

android - Android/iOS 代码审计

ios - 将 Set 对象解析为 UILabel

iOS - 无法从 Objective-C 访问 Swift Singleton

ios - setValue : or removeValue: 的 Firebase 权限被拒绝

ios - 在 UIBarButtonItem 中添加后退箭头

objective-c - 覆盖粘贴: to format text

iphone - 访问核心数据实体的 NSString 属性

swift - stringByReplacingOccurrencesOfString 删除整个字符串