objective-c – 我应该何时使用NSURL而不是NSString,反之亦然?

objective-c – 我应该何时使用NSURL而不是NSString,反之亦然?,第1张

概述这不是关于相关问题的问题.这是一个我试图加深对Objective-C或更具体的Cocoa Foundation的理解的问题. 在处理从服务器上传和下载文件到我的应用程序时,我经常在使用NSURL或NSString来解决与路径相关的所有问题.当然,当有现有的API时,我只是根据规格使用它.但是当我存储自己的路径或创建处理它们的自定义类时,我很困惑这两个中哪一个会更好. NSString在任何地方都使 这不是关于相关问题的问题.这是一个我试图加深对Objective-C或更具体的Cocoa Foundation的理解的问题.

在处理从服务器上传和下载文件到我的应用程序时,我经常在使用NSURL或Nsstring来解决与路径相关的所有问题.当然,当有现有的API时,我只是根据规格使用它.但是当我存储自己的路径或创建处理它们的自定义类时,我很困惑这两个中哪一个会更好.

Nsstring在任何地方都使用,它有方便的方法,如stringByAppendingPathComponent:和stringByAppendingPathExtension:.我可以通过使用[NSURL URLWithString:@“string”]创建一个新实例,然后通过在NSURL实例上调用[url path]来轻松转换为NSURL.但差异是有原因的,对吧?

当我查看像NSfileManager这样的头文件时,我的困惑就会增加.这两种方法非常接近:

- (BOol)copyItemAtPath:(Nsstring *)srcPath topath:(Nsstring *)dstPath error:(NSError **)error;- (BOol)copyItemAtURL:(NSURL *)srcURL toURL:(NSURL *)dstURL error:(NSError **)error NS_AVAILABLE(10_6,4_0);

为什么我会选择使用一个而不是另一个,特别是当两者之间的转换如此容易时?为什么Apple要为使用这两种数据类型创建几乎相同的API?

如果有人对您自己的处理文件路径和远程URL的类使用NSURL而不是Nsstring有更深入的了解,请分享!干杯.

解决方法 通常对于路径相关的 *** 作,您应该更喜欢NSURL而不是Nsstring,因为路径信息可以更有效地存储在NSURL中(根据NSfileManager的类引用).所以我建议您使用NSURL作为API.

NSURL还有URLByAppendingPathComponent:和URLByAppendingPathExtension:因此也提供了便利:-)

总结

以上是内存溢出为你收集整理的objective-c – 我应该何时使用NSURL而不是NSString,反之亦然?全部内容,希望文章能够帮你解决objective-c – 我应该何时使用NSURL而不是NSString,反之亦然?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1032986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存