问题标签 [uimanageddocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
612 浏览

iphone - UIManagedDocument:网络关闭时创建新文件时出错/崩溃(保存)

当我尝试将新创建的 UIManagedDocument 保存到 iCloud 并且网络关闭(例如飞行模式)时,我收到以下错误并崩溃(删除了十六进制代码和不可读的内容):

我不知道这个错误,但它表示无法保存文档,因为无法上传(当然,因为没有网络)。但我不明白为什么我不能用保存完成处理程序捕捉到这个错误:

0 投票
1 回答
865 浏览

ios - 自动保存不适用于 UIManagedDocument 上的 NSUndoManager

解析度

NSUndoManager只能在孩子中NSManagedObjectContext使用(与 Core Data 一起使用时)。这是因为它UIManagedDocument可能会在任何时间点自动保存,之后undo将不起作用。因此,仅仅实现保存/取消功能是没有意义NSUndoManager的,因为子上下文会给你相同的结果。

真的有点难过,因为NSUndoManager它比子上下文更容易实现(对于后者,我必须调用existingObjectWithID将对象从父级复制到子级 - 很痛苦)。我个人认为如果groupingLevel != 0. 吐槽完了。

原始问题

我有一个表视图控制器,它使用 Core Data 将数据加载到UIManagedDocument. 它使用视图控制器来编辑表格中的每一行。在那个视图控制器中,我有取消和保存按钮。我正在通过我的对象NSUndoManager上的一个类别(如下)来实现取消功能。NSManagedself.list

类别 implements beginEdit,旨在处理 NSUndoManager 的东西endEditcancelEdit在下面的代码中,useUndo我将其设置为 NO 或 YES 以查看使用 NSUndoManager 的影响。

如果我保存一个对象并在useUndo = NO. 但是,useUndo = YES当我单击主页按钮时,它不会自动保存。我已经等了几分钟,它仍然没有自动保存。有什么办法可以强制自动保存吗?

谁能解释为什么使用 undoManager 会导致这种行为变化?

我怀疑我的处理方式错误,或者代码中有一些简单的问题。任何帮助,将不胜感激。

0 投票
1 回答
705 浏览

ios - 核心数据在 performBlock 中保存子上下文:删除撤消堆栈

我正在制作一个绘图应用程序。每次点击都会创建一些核心数据实体。用户可以点击撤消按钮,这些点击一次被撤消。这工作正常。

运行某些自动化任务时会出现问题。我有一个按钮,可以在子上下文中创建一堆核心数据实体(自己绘制一些东西),然后保存上下文,以便更改反映在主上下文中。

问题是无论用户点击任务按钮多少次,所有更改都被分组到一个单独的撤消步骤中。

说清楚:他做了5个任务,然后点击一次撤消,他又回到了开头。但我希望他能够一次撤消每一项任务。

我正在使用 UIManagedDocument ,它是核心数据堆栈。所以它有 2 个上下文,一个写入磁盘,一个子用于一般用途,然后我创建后者的一个子用于后台操作。

这是我的代码:

0 投票
2 回答
372 浏览

objective-c - 如何使用非 nil parentContext 创建 NSManagedObjectContext?

你如何创建一个在不同队列/线程上运行NSManagedObjectContext的非?nil parentContext

UIManagedDocument的 managedObjectContext 确实有这个,但我不知道如何在不使用UIManagedDocument.

这是我正在使用的代码,其结果是managedObjectContextparentContext属性为nil.

0 投票
3 回答
825 浏览

iphone - 在 iCloud 中创建 UIManagedDocument 时出错/崩溃

在我的项目中,我将 UIManagedDocument 与 CoreData 和 iCloud 一起使用。在 iCloud 中创建 UIManagedDocument 时似乎有很多错误——尤其是在没有网络服务的情况下。

但是现在我在保存文档以进行创建时遇到了一些奇怪的错误/应用程序崩溃与网络服务(也与 wifi):

它表示无法完成从事务日志文件夹的下载操作。我无法理解这一点,因为应用程序应该创建一个文档而不是下载任何内容。

顺便说一句,该应用程序的 iCloud 文件夹是空的!

从设备中删除 iCloud 帐户并再次登录也无济于事。该设备是运行 iOS 6 的 iPhone 4S。

有没有人有过类似的经历?

编辑:

现在,经过数百次删除和重建后,我在同一设备上得到了不同的错误:

不知何故,设备似乎无法访问 iCloud 服务,即使它获得了 iCloud 令牌并且可访问性很好......

0 投票
1 回答
339 浏览

ios - NSCFString _cfurl 无法识别的选择器发送到实例

我正在使用 Core Data 多年。目前我想了解更多关于 UIManagedDocument 的信息。我已经完成了几个示例项目以了解更多信息。最后,我很高兴将这种机制转移到实际项目中。在现有项目中,我目前正在实现Core Data,因此我创建了Data Model(与app同名)。我为实体生成了一个类,然后我创建了一个类别,该类别具有一个将对象添加到数据库的简单方法。最后我为 UIManagedDocument 创建了单例,现在它看起来像这样:

在我实例化共享实例并调用 prepareManagedDocument 方法后,它会因以下消息而崩溃:

有趣的是它只在第一次运行时崩溃,但由于这次崩溃,它不会创建持久存储,所以它无法写入文档等。我有一个正在使用此代码的项目,并且不要抛出任何异常,因此它正在创建持久存储并且我能够写入该文档。

我哪里错了?

提前致谢!

0 投票
1 回答
256 浏览

ios - 几次打开后无法打开 NSManagedDocument 文件似乎已损坏

我试图NSManagedDocument在创建它之后打开它。成功打开文件几次后似乎无法打开文件。如果我更改文档名称或再次删除/复制应用程序,它可以工作。每次应用程序启动时,都会在应用程序委托中调用以下方法。

}

0 投票
1 回答
110 浏览

ios - 在模拟器上打开 UIManagedDocument 需要很长时间

我正在寻找快速解决 iPhone 模拟器问题的方法。

我用来访问我的数据库的代码是:

问题是,它在实际的 iPhone 上完美运行,但在模拟器上却不行。延迟时间(40 秒)用于初始创建以及编辑现有文件。

我已经尝试过“重置内容和设置”,在 xcode 上清理,在模拟器上删除 + 重建应用程序 - 这些都不起作用。

接下来做什么?

维生素B

0 投票
1 回答
687 浏览

iphone - UIManagedDocuments 什么时候关闭?

我正在使用这个博客: http: //www.adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.html为单例创建单UIManagedDocument例。这是相关的代码BetterDatabase

我的问题: UIManagedDocument 什么时候可以自动关闭?即,文档是否有可能在第 1 行和第 2 行之间关闭(由 OS/SDK)?如果用户最小化 iPhone 应用程序然后再次打开它会怎样?会UIManagedDocument被关闭吗?

另一种表达方式是:当我仍然有一个强指针指向它时,它会永远关闭吗?UIManagedDocument

0 投票
2 回答
2900 浏览

objective-c - 核心数据 NSPredicate“已删除 == NO”无法按预期工作

我正在使用带有父子上下文的 UIManagedDocument。

在我的孩子上下文中,我执行以下操作

代码 1

上面的代码返回预期的结果(仅限未删除的事件成员)。

代码 2

但是这段代码没有。它获取所有记录。

这似乎令人困惑。两者都应该返回相同的结果,但在 as返回所有记录predicateWithBlock的情况下返回正确的结果。predicateWithFormat

使用predicateWithBlock代替的优点和缺点是predicateWithFormat什么?