在释放一个持有了少量performSelector:withObject:afterDelay
的对象时,我遇到了EXC_BAD_ACCESS
错误,其中选择器方法调用了另一个对象,并且我正在释放该对象。
在我的类的某个地方,我调用了:
[self performSelector:@selector(callObject1Function) withObject:nil afterDelay:2.0];
在我的类中我有:
- (void)callObject1Function{
[object1 function1] // Here I am getting "EXC_BAD_ACCESS"
}
- (void)dealloc {
[object1 release];
[super dealloc];
}
我就是不理解,我以为当你dealloc
对象时,与对象相关的所有内容都应该被删除或取消,甚至包括带延迟的performSelector
!