问题标签 [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.
iphone - UIManagedDocument:网络关闭时创建新文件时出错/崩溃(保存)
当我尝试将新创建的 UIManagedDocument 保存到 iCloud 并且网络关闭(例如飞行模式)时,我收到以下错误并崩溃(删除了十六进制代码和不可读的内容):
我不知道这个错误,但它表示无法保存文档,因为无法上传(当然,因为没有网络)。但我不明白为什么我不能用保存完成处理程序捕捉到这个错误:
ios - 自动保存不适用于 UIManagedDocument 上的 NSUndoManager
解析度
NSUndoManager
只能在孩子中NSManagedObjectContext
使用(与 Core Data 一起使用时)。这是因为它UIManagedDocument
可能会在任何时间点自动保存,之后undo
将不起作用。因此,仅仅实现保存/取消功能是没有意义NSUndoManager
的,因为子上下文会给你相同的结果。
真的有点难过,因为NSUndoManager
它比子上下文更容易实现(对于后者,我必须调用existingObjectWithID
将对象从父级复制到子级 - 很痛苦)。我个人认为如果groupingLevel != 0
. 吐槽完了。
原始问题
我有一个表视图控制器,它使用 Core Data 将数据加载到UIManagedDocument
. 它使用视图控制器来编辑表格中的每一行。在那个视图控制器中,我有取消和保存按钮。我正在通过我的对象NSUndoManager
上的一个类别(如下)来实现取消功能。NSManaged
self.list
类别 implements beginEdit
,旨在处理 NSUndoManager 的东西endEdit
。cancelEdit
在下面的代码中,useUndo
我将其设置为 NO 或 YES 以查看使用 NSUndoManager 的影响。
如果我保存一个对象并在useUndo = NO
. 但是,useUndo = YES
当我单击主页按钮时,它不会自动保存。我已经等了几分钟,它仍然没有自动保存。有什么办法可以强制自动保存吗?
谁能解释为什么使用 undoManager 会导致这种行为变化?
我怀疑我的处理方式错误,或者代码中有一些简单的问题。任何帮助,将不胜感激。
ios - 核心数据在 performBlock 中保存子上下文:删除撤消堆栈
我正在制作一个绘图应用程序。每次点击都会创建一些核心数据实体。用户可以点击撤消按钮,这些点击一次被撤消。这工作正常。
运行某些自动化任务时会出现问题。我有一个按钮,可以在子上下文中创建一堆核心数据实体(自己绘制一些东西),然后保存上下文,以便更改反映在主上下文中。
问题是无论用户点击任务按钮多少次,所有更改都被分组到一个单独的撤消步骤中。
说清楚:他做了5个任务,然后点击一次撤消,他又回到了开头。但我希望他能够一次撤消每一项任务。
我正在使用 UIManagedDocument ,它是核心数据堆栈。所以它有 2 个上下文,一个写入磁盘,一个子用于一般用途,然后我创建后者的一个子用于后台操作。
这是我的代码:
objective-c - 如何使用非 nil parentContext 创建 NSManagedObjectContext?
你如何创建一个在不同队列/线程上运行NSManagedObjectContext
的非?nil
parentContext
UIManagedDocument
的 managedObjectContext 确实有这个,但我不知道如何在不使用UIManagedDocument
.
这是我正在使用的代码,其结果是managedObjectContext
其parentContext
属性为nil
.
iphone - 在 iCloud 中创建 UIManagedDocument 时出错/崩溃
在我的项目中,我将 UIManagedDocument 与 CoreData 和 iCloud 一起使用。在 iCloud 中创建 UIManagedDocument 时似乎有很多错误——尤其是在没有网络服务的情况下。
但是现在我在保存文档以进行创建时遇到了一些奇怪的错误/应用程序崩溃与网络服务(也与 wifi):
它表示无法完成从事务日志文件夹的下载操作。我无法理解这一点,因为应用程序应该创建一个文档而不是下载任何内容。
顺便说一句,该应用程序的 iCloud 文件夹是空的!
从设备中删除 iCloud 帐户并再次登录也无济于事。该设备是运行 iOS 6 的 iPhone 4S。
有没有人有过类似的经历?
编辑:
现在,经过数百次删除和重建后,我在同一设备上得到了不同的错误:
不知何故,设备似乎无法访问 iCloud 服务,即使它获得了 iCloud 令牌并且可访问性很好......
ios - NSCFString _cfurl 无法识别的选择器发送到实例
我正在使用 Core Data 多年。目前我想了解更多关于 UIManagedDocument 的信息。我已经完成了几个示例项目以了解更多信息。最后,我很高兴将这种机制转移到实际项目中。在现有项目中,我目前正在实现Core Data,因此我创建了Data Model(与app同名)。我为实体生成了一个类,然后我创建了一个类别,该类别具有一个将对象添加到数据库的简单方法。最后我为 UIManagedDocument 创建了单例,现在它看起来像这样:
在我实例化共享实例并调用 prepareManagedDocument 方法后,它会因以下消息而崩溃:
有趣的是它只在第一次运行时崩溃,但由于这次崩溃,它不会创建持久存储,所以它无法写入文档等。我有一个正在使用此代码的项目,并且不要抛出任何异常,因此它正在创建持久存储并且我能够写入该文档。
我哪里错了?
提前致谢!
ios - 几次打开后无法打开 NSManagedDocument 文件似乎已损坏
我试图NSManagedDocument
在创建它之后打开它。成功打开文件几次后似乎无法打开文件。如果我更改文档名称或再次删除/复制应用程序,它可以工作。每次应用程序启动时,都会在应用程序委托中调用以下方法。
}
ios - 在模拟器上打开 UIManagedDocument 需要很长时间
我正在寻找快速解决 iPhone 模拟器问题的方法。
我用来访问我的数据库的代码是:
问题是,它在实际的 iPhone 上完美运行,但在模拟器上却不行。延迟时间(40 秒)用于初始创建以及编辑现有文件。
我已经尝试过“重置内容和设置”,在 xcode 上清理,在模拟器上删除 + 重建应用程序 - 这些都不起作用。
接下来做什么?
维生素B
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
objective-c - 核心数据 NSPredicate“已删除 == NO”无法按预期工作
我正在使用带有父子上下文的 UIManagedDocument。
在我的孩子上下文中,我执行以下操作
代码 1
上面的代码返回预期的结果(仅限未删除的事件成员)。
代码 2
但是这段代码没有。它获取所有记录。
这似乎令人困惑。两者都应该返回相同的结果,但在 as返回所有记录predicateWithBlock
的情况下返回正确的结果。predicateWithFormat
使用predicateWithBlock
代替的优点和缺点是predicateWithFormat
什么?