【发布时间】:2012-10-18 22:41:33
【问题描述】:
我正在从主上下文创建一些子上下文,我想知道是否需要释放子上下文?
我有一个创建子上下文的 CoreData 类(该类是启用弧的类),但它可以为可能不是弧类的其他类提供上下文。
- (NSManagedObjectContext *) createChildContext
{
NSManagedObjectContext *childManagedContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
childManagedContext.parentContext = [self parentContext];
return childManagedContext;
}
那么其他一些类可以获取子上下文
NSManagedObjectContext *context = [coredata createChildContext];
我的问题是我需要释放这个类中的上下文还是由创建它的 arc 类自动管理,因为我没有保留它。
【问题讨论】:
-
我们需要了解更多才能提供合理的答案;例如,您使用 ARC 吗?您如何创建子上下文? memory management rules 对您的情况有何看法?
-
我有一个 CoreData 类,它创建子上下文(该类是启用弧的类),但它可以为可能不是弧类的其他类提供上下文。 - (NSManagedObjectContext *) createChildContext { NSManagedObjectContext *childManagedContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType]; childManagedContext.parentContext = [自己的父上下文];返回子管理上下文;然后其他一些类可以获取子上下文 NSManagedObjectContext *context = [coredata createChildContext];