假设我有一个已分配和初始化的实例变量 MyObject。然后说我这样做:
[backgroundThread performBlock:^{
//do something with MyObject that might take some time
}];
[self dismissModalViewController]; //this releases all instance variables, right?
所以发生的事情是我有一个NSManagedObjectContext
调用backgroundThread
,它在后台对一个对象做一些工作。这立即返回并在后台完成工作,然后dismissModalViewController
被调用,释放所有实例变量。那么,如果模态视图现在已被解除,但backgroundThread
仍需要使用该对象怎么办?这是一个问题吗?解决方法是什么?
还有一件事:这个 MyObject 被插入到托管对象上下文 backgroundThread 中。这是否意味着这个 NSManagedObjectContext 将保留对象,即使在关闭视图之后也是如此?
我正在使用ARC。