让我们说,
-(void) someFunction{
Foo* obj = [array objectAtIndex:1];
[self performSelector:@selector(anotherFunction:) withObject:obj afterDelay:2];
}
-(void) anotherFunction:(Foo*) foo{
//do something : like runActions
}
我知道执行选择器会在同一个线程上安排一个定时器,该定时器将在给定的延迟后执行。 我无法确定的是,在调用选择器之前是否可以释放 obj ?我尝试过不同的延迟值,代码到目前为止还没有崩溃,但我想知道肯定。 该对象通过引用传递给选择器,但我不知道如果数组以某种方式同时被释放,指针是否会强烈保持对象。