我有一个视图,该视图由一个现有对象表和一个添加按钮组成,该按钮允许
 用户创建一个新对象。当用户按下添加时,将在列表视图控制器中创建对象,以便该对象将成为该托管对象上下文的一部分。
 (通过NSEntityDescription insertNewObjectForEntityForName:方法)。

“添加”视图具有托管对象的属性。在列表视图控制器中,
 我创建一个添加视图控制器,将属性设置为我创建的托管对象,然后
 然后将“添加”视图推送到导航堆栈。

在“添加”视图中,我有两个按钮用于保存和取消。在保存中,我保存了托管对象
 并通过委托方法将托管对象传递回列表视图控制器。如果
 用户取消,然后删除该对象,然后将nil传递回列表视图控制器。

我在添加视图中遇到的复杂性与UIImagePickerController有关。
 在“添加”视图中,我有一个按钮,允许用户为对象拍照
 (或使用照片库中的现有照片)。但是,转移到
 UIImagePickerController并让用户使用相机,则会导致didReceiveMemoryWarning
 在添加视图控制器中。

此外,该视图已卸载,这也导致我的NSManagedObject被破坏。我的问题
 是,在释放NSManagedObject的情况下,如何重新加载它,因为
 内存不足的情况?

最佳答案

只是一个建议,但是等到用户说完成编辑后再创建托管对象又如何呢?

将“编辑器”的所有属性存储在单独保存的词典中(以防在编辑过程中出现呼叫,或者他们想从另一个应用程序复制文本以粘贴到您的新项目中),每次编辑时都保存一个领域。然后,当用户完成编辑后,一次性创建并保存来自词典内容的被管理对象。如果取消,则重置(或删除)字典(并清理其持久文件)。这样,您可以在内存不足的情况下更好地进行控制。

关于iphone - NSManagedObject如何重新加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2961742/

10-14 03:52