首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较两个在iOS中同名的文件,以检查它们是否是同一文件或不同文件的副本

如何比较两个在iOS中同名的文件,以检查它们是否是同一文件或不同文件的副本
EN

Stack Overflow用户
提问于 2018-09-15 09:18:06
回答 1查看 146关注 0票数 0

我使用UIDocument将文档文件保存到文档目录中的本地存储沙箱中。我在iCloud中有一个同名的文件。如何检查这两个文件是同一个文档文件的副本还是同名的两个不同的文档文件的副本?

使用NSFileVersion并不能告诉我它们是否是同一个文件,而是文件的哪个版本。

我尝试获取文件的资源值,但是本地存储沙箱中的文件给了我零作为文档标识符。

下面是使用documentIdentifier资源值的代码:

代码语言:javascript
复制
    let localFileResourceValues = try? self.document!.fileURL.resourceValues(forKeys: [URLResourceKey.documentIdentifierKey])

    let iCloudFileResourceValues = try? destinationURL.resourceValues(forKeys: [URLResourceKey.documentIdentifierKey])

    print("documentIdentifier", localFileResourceValues?.documentIdentifier as Any, iCloudFileResourceValues?.documentIdentifier as Any, localFileResourceValues?.documentIdentifier == iCloudFileResourceValues?.documentIdentifier)

打印结果:

documentIdentifier零可选(133819) false

是否可以从本地存储沙箱中的文件中获取NSMetadataItem?

我很感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-08-23 18:24:53

要了解这两个文件路径是否指向同一个文件对象,需要使用NSString stringByStandardizingPath规范文件路径,然后使用NSString stringByResolvingSymlinksInPath:解析符号链接,然后比较这些路径。这个网页有很好的描述和准备就绪的代码.

要了解两个文件是否具有相同的内容,即使它们可能是不同的文件对象,NSFileManager contentsEqualAtPath:andPath:也是有用的。

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

https://stackoverflow.com/questions/52343369

复制
相关文章

相似问题

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