writeToFile 和 writeToURL 有啥区别?

Posted

技术标签:

【中文标题】writeToFile 和 writeToURL 有啥区别?【英文标题】:What is the difference between writeToFile and writeToURL?writeToFile 和 writeToURL 有什么区别? 【发布时间】:2011-07-20 11:43:48 【问题描述】:

也许有人可以在这里解释或发送给我正确的文档?

我已经阅读了 ios 文档,但仍然无法得到它,我什么时候使用 writeToURL 方法。也许问题出在我身上,如果除了我以外的其他人都明白这一点,但如果有人能帮助我,我将非常感激:-)

【问题讨论】:

不同之处在于 writeToFile: 需要一个 NSString 和 writeToURL: 需要一个 NSURL。 Apple 建议您使用 writeToURL:. 好的,我会让我的问题更清楚,也许很愚蠢,但没那么愚蠢。我明白这个名字,但它是一个得到它,它不是一个 html URL,对吧?它是设备上本地文件的本地 URL,只是使用两种方法获取相同数据的一种延迟方式?我对吗?我不需要提供 URL,我得到的方式与获取文件路径的方式相同,使用 API 方法,只是另一种方式......或者我有什么问题吗?如果我是对的,为什么会有文件和 URL 方法?他们为什么要添加网址?这是我对这个问题感到困惑的根源。谢谢,埃雷兹 URL 可以是远程的也可以是本地的。你可以使用+[NSURL fileURLWithPath:] 谢谢你,你为什么不把它作为答案发布,我认为它可能会引起很多初学者的兴趣,因为你在那里看到它,但是没有太多关于做什么的文档就像那个意思一样,在网上找到它并不是那么简单。你可以进入 IOS Docs,是的。您可以阅读 API,是的,但是对于新程序员来说,很多类似的事情并不是微不足道的,除非有人在某个地方向您解释过,否则很难找到正确的答案 :-) 谢谢, 【参考方案1】:

区别在于 writeToFile: 需要一个 NSString 和 writeToURL: 需要一个 NSURL。 Apple 建议您使用 writeToURL:。

URL 可以是远程的也可以是本地的。你可以使用+[NSURL fileURLWithPath:]。

【讨论】:

虽然 URL 可以是远程的也可以是本地的,但我认为您不能写入远程 URL。有人知道不同吗? 如果您无法写入远程 URL,那么为什么需要文件和 URL?为什么 URL 发明了什么?如果我还是从 SDK 方法获取文件路径,为什么我需要两种方法来做同样的事情?【参考方案2】:

“由于目前只支持file://url,所以这个方法和writeToFile:atomically:没有区别,除了第一个参数的类型。”

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/#//apple_ref/occ/instm/NSData/writeToURL:atomically:

【讨论】:

以上是关于writeToFile 和 writeToURL 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

writeToURL:错误处理

-writeToURL 不会覆盖之前的写入

使用 writeToURL 方法将数组保存到文件

NSMutableArray writeToUrl

StringByAppendingPathComponent() 和 WriteToFile()

与 archiveRootObject:toFile: 和 writeToFile 的区别: