小编Flo*_*giu的帖子

文档文件夹内容 - 无法打开文件,因为没有这样的文件

上下文:Xcode 8.3.2 / Swift 3

我正在 Documents 文件夹内的子文件夹中下载一堆 MP3。然后,我通过以下方式验证成功:

  • try FileManager.default.contentsOfDirectory(atPath: folderPath) 我可以看到我的文件列出
  • 使用 Xcode,我正在执行 Window - Devices - myDevice - myApp - downloadContainer。我在我的电脑桌面上得到了一个沙箱的副本。我导航到 Documents 文件夹中的相关子文件夹,果然,我的 MP3 就在那里
  • 最后但并非最不重要的...在我的移动应用程序中,我只需选择下载的 MP3 之一并点击播放。它播放。

然后,我重新启动应用程序。没有保存的歌曲将再次播放,原因如上:无法打开文件“name_here”,因为没有这样的文件。 FileManager.default.contentsOfDirectory()仍然在那里列出它们;当我检查沙箱时,它们都在那里。

我没有想法了。想法,有人吗?

PS:错误发生在我

try Data.init(contentsOf: URL(fileURLWithPath: file_path_here))
Run Code Online (Sandbox Code Playgroud)

通常我真的不需要在内存中加载这些东西;AVPlayer 从磁盘播放它们就好了;但是,我必须先解密它们,这就是为什么我要用任何文件的内容填充“NSData”。不用说,我的解密器没有任何东西,因为...无法打开文件,因为没有这样的文件

为什么相同的代码第一次工作(当我下载它们时)但在以后的会话中失败???

nsdata ios swift

6
推荐指数
1
解决办法
5114
查看次数

Code = 134110 - 验证错误缺少必需目标属性的属性值

语境:

  • 使用CoreData的应用程序
  • 一些轻量级迁移过去成功执行(达到模型版本的第4次迭代)
  • 客户想要一个新功能
    • 创建了第五个模型版本
    • 向TestModel实体添加了一个单一的糟糕新属性,一个名为new_one的非可选布尔值

结果:

CoreData: error: NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=134110 \"An error occurred during persistent store migration.\" 

UserInfo={

entity= TestModel, 

attribute=new_one, 

reason=Validation error missing attribute values on mandatory destination attribute}";

}
Run Code Online (Sandbox Code Playgroud)

解:

我不完全理解为什么会发生这种情况(我太累了,并且急于将此问题抛在身后),但"强制性目标属性"的事情使我指向将属性设置为可选的方向.无论是正确的做法还是普通的黑客攻击......我不知道......但它解决了我的问题,我现在可以继续下一个

在此输入图像描述

core-data lightweight-processes ios swift

4
推荐指数
1
解决办法
1094
查看次数

标签 统计

ios ×2

swift ×2

core-data ×1

lightweight-processes ×1

nsdata ×1