问题标签 [nsmanagedobject]
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.
cocoa - NSEntityDescription 的名称有问题
这个问题来自上一个问题。
当我运行以下代码行时:
我收到以下错误:
我担心的是错误中实体名称末尾似乎出现了额外的上升。谁能解释为什么会发生这种情况,或者我该如何调试它。代码在第一次运行时正常运行,但在几次 Core Data 获取后,它似乎中断了。这可能是与内存泄漏或类似问题有关的问题吗?
谢谢您的帮助。
iphone - 核心数据 - 如何检查托管对象的属性是否已被释放?
我创建了一个使用核心数据的程序,它运行良好。
从那以后,我试图将我所有的核心数据方法调用和获取例程移动到一个自包含的类中。然后,我的主程序实例化该类并对该类进行一些基本的方法调用,然后该类在幕后处理所有核心数据。我遇到的是,有时我会发现当我从上下文中获取一个托管对象时,我将拥有一个有效的对象,但它的属性已被释放,我会导致崩溃。我玩过僵尸并寻找内存泄漏,我收集到的似乎是运行循环可能负责释放内存,但我不确定。
有没有办法确定该内存是否已被释放并在我需要访问它时强制核心数据取回它?我的 managedObjectContext 永远不会被释放,而 fetchedResultsController 也永远不会。
我想也许我需要使用 [managedObjectContext refreshObject:mergeData:] 方法或 [managedObjectContext setRetainsRegisteredObjects:] 方法。虽然,我的印象是最后一个可能不是最好的选择,因为它会占用更多的内存(据我所知)。
这些错误仅在我将核心数据调用移动到另一个类文件时才出现,并且它们出现时是随机的。
任何见解将不胜感激。
-瑞安
core-data - 将对象类型声明为 NSManagedObject 或类名
在 Core Data 中,如果我有一个 Person 实体,两者之间有什么区别:
或者
aPerson 应该是 Person 类型还是 NSManagedObject 类型?有区别吗?
iphone - 如何不保留从 NSManagedObjectContext 检索到的 NSManagedObjects
对于我去的每个新节点,我解析一个包含书籍的 xml 文件:
为了获得我的核心数据书实体的 NSManagedObject,然后我继续用数据填充托管书对象,将其添加到数组中,冲洗,重复。
完成后,我将书籍列表呈现给用户。我还没有执行保存:
用户现在选择其中一本书,这本我想坚持,但只有这本,其他所有的书我都不再感兴趣。图书实体没有/或属于任何关系。它只是一个“单一”实体。
如果我拉动“保存杆”,每个 Book 对象都将被保留,我将不得不删除除我想要的对象之外的所有内容。
我将如何解决这个挑战,我似乎真的无法在核心数据编程指南中找到那个特定的用例,这也让我有些烦恼,我是否违背了最佳实践?
感谢您提供的任何帮助。
iphone - iPhone - 更改实体类 (NSManagedObject) 以使其可初始化
我想像使用普通对象(以及它的常规函数)一样使用我的自定义 NSManagedObject。是否可以修改类以便能够像普通对象一样对其进行初始化?
谢谢
编辑:为了澄清这个问题,如果我在实现中用@synthesize 更改@dynamic,它会搞砸一切吗?
cocoa - 如何复制或复制核心数据托管对象?
我有一个包含各种属性和关系类型的托管对象(“A”),它的关系也有自己的属性和关系。我想做的是“复制”或“复制”以对象“A”为根的整个对象图,从而创建一个与“A”非常相似的新对象“B”。
更具体地说,“B”(或其子项)包含的任何关系都不应该指向与“A”相关的对象。应该有一个全新的对象图,具有完整的相似关系,并且所有对象都具有相同的属性,但当然是不同的 id。
有一种明显的手动方法可以做到这一点,但我希望了解一种更简单的方法,这在 Core Data 文档中并不完全明显。
蒂亚!
iphone - insertNewObjectForEntityForName:inManagedObjectContext:返回 NSNumber 错误?
我比较精通CoreData,并且已经使用它几年了,几乎没有困难。突然间,我现在对一个错误感到目瞪口呆。对于我的生活,我无法弄清楚为什么
突然返回某种奇怪的 NSNumber 实例。GDB 说返回的对象是 NSManagedObject 的正确自定义子类,但是当我打印 NSManagedObject 本身的描述时,我收到以下错误:
更奇怪的是,我可以使用 setValue:forKey: 设置一些关系和属性,一切都很好。但是当我尝试设置一次特定的关系时,我得到了这个错误:
有没有人遇到过这样的事情?我已经尝试清理所有目标,重新启动一切,甚至将模型更改为有问题的关系是一对一而不是一对多。没有任何区别。
iphone - insertNewObjectForEntityForName:inManagedObjectContext: 返回 NSNumber 错误?
我比较精通CoreData,并且已经使用它几年了,几乎没有困难。对于我的生活,我无法弄清楚为什么
突然返回某种奇怪的 NSNumber 实例。GDB 说返回的对象是 NSManagedObject 的正确自定义子类,但是当我打印 NSManagedObject 本身的描述时,我收到以下错误:
更奇怪的是,我可以使用 setValue:forKey: 设置一些关系和属性,一切都很好。但是当我尝试设置一个特定的关系时,我得到了这个错误:
我已经尝试了从清理所有目标到重新启动 Mac 和 iPhone,甚至编辑模型以使所讨论的关系是一对一而不是一对多的一切。无论我做什么,都会出现同样的问题。有没有人见过这样的东西?
iphone - 以后如何在已经创建了三个 NSManagedObjects 的 NSManagedObjectModel 中为 NSManagedObject 的可选属性赋值?
我正在使用 coredata 框架。在我的 NSManagedObjectModel 中,我使用三个实体,即班级、学生和分数,其中班级和学生具有一对多和反向关系,学生和分数也具有反向但一对一的关系。
分数实体具有所有可选属性并具有默认的“0”decimalVaue,在添加新学生时未分配。但后来我想给他们单独分配分数,也给特定属性分配分数,而不是一次性分配所有分数属性。我能够创建学生并将其添加到特定班级,但不知道如何调用特定学生并为他们分配分数。例如,我想为“足球”类的学生“大卫”分配一个十进制值,我该怎么做?
提前感谢您的任何建议。
iphone - 如何设置从其他属性计算的 NSManagedObject 的自定义属性?
我正在使用核心数据框架来管理对象。我有一个实体,它有几个十进制类型的属性。其中有一个属性是根据其他属性进行数学计算的。例子:
这里我想要属性total = 3xanswerGradeA + 2xanswerGradeB + 1xanswerGradeC
。
如果可以这样做,那怎么做?