【发布时间】:2015-05-09 11:51:29
【问题描述】:
我有一个录音机应用程序,其中记录的声音存储如下:
let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0] as String
var pathArray = [dirPath, recordingName]
let filePath = NSURL.fileURLWithPathComponents(pathArray)
所有文件路径 URL 都存储在一个数组中(放入 NSUserDefaults)以便于访问。
如果文件在与录制时相同的运行中播放,我可以播放文件,但是打开和关闭模拟器备份会导致文件路径错误(因为 ~/ 的 app-id 文件夹Library/Developer/CoreSimulator/Devices/Device-ID/data/Container/Data/Application/app-id-folder/Documents/filename.wav 将更改名称)。每次运行应用程序时,如何更改包含文件 URL 的数组以更新 app-id 文件夹名称? (目前它只是一个字符串数组,必要时转换为 NSURL 类型)。或者更简单,是否可以保存到用户主目录或您不需要处理更改文件夹名称的地方?
【问题讨论】:
-
为什么不直接列出文档文件夹文件?
-
您不应将完整路径存储在
NSUserDefaults中。只需将相对目录存储在文档文件夹中,然后在运行时将该相对路径附加到NSSearchPathForDirectoriesInDomains-派生路径。