首页 > 解决方案 > 是否有一个共同文件夹,我可以使用模拟器或我的设备在其中保存和加载数据?

问题描述

我目前正在使用以下代码将我的数据保存在文档目录中:

let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!

let archiveURL = documentsDirectory.appendingPathComponent("myData").appendingPathExtension("plist")

let pListEncoder = PropertyListEncoder()
        if let encodedTableArray = try? pListEncoder.encode(myData) {
            try? encodedTableArray.write(to: archiveURL, options: .noFileProtection)
        }

当我打印documentsDirectory时,无论我的应用程序是在模拟器还是我的设备(插入我的计算机)上运行,路径都不相似:

file:///Users/userName/Library/Developer/CoreSimulator/Devices/E80B48AB-C269-48ED-9AF4-AC55C34C911E/data/Containers/Data/Application/D3C87E08-DC0E-4F53-ABC7-C930DFAC4EF8/Documents/

file:///var/mobile/Containers/Data/Application/F5BE0EB0-F2C7-4842-B039-01D5F8CCA4A2/Documents/,

分别。

是否有模拟器和设备都可以访问的路径?

PS:我使用这条路径只是因为我读到它应该是保存我的数据类型(类似于表格列表)时最合适的路径,我仍在学习持久性,所以我不完全理解但是为什么。

谢谢您的帮助 !

标签: swiftpathsaveloadpersistence

解决方案


推荐阅读