【发布时间】:2014-04-14 10:05:26
【问题描述】:
我正在尝试对核心数据实体的关系进行排序。例如有一个员工对象,它有部门关系。
- 我对员工执行 NSFetchRequest
- 我写了一个方法来取出
departments(NSSet),它可以让我对部门进行分类
我使用的代码如下。
[tempArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
我看到内存在一段时间后仍被保留,并且其中的核心数据对象在很长一段时间后仍被保留。
我认为这可能是原因删除了这条线
//[moc setRetainsRegisteredObjects:YES];
但这无济于事。我想了解 Core Data 对象的 NSSet 上的所有对象方法是否会导致内存增加以及 sortedArrayUsingDescriptors 进行深度复制?
我知道这是一个浅拷贝,请确认,即使在使用 sortedArrayUsingDescriptors 获得的对象数组后,内存仍然保留的逻辑原因是什么。
【问题讨论】:
-
首先你应该明确你的问题。此外,您应该以正确的方式对其进行格式化。那么,您是否使用ARC?最后,您在哪里看到这么大的内存占用?
标签: ios objective-c core-data nsfetchrequest nssortdescriptor