在整个互联网以及此处的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/