1

Lets say,

-(void) someFunction{

    Foo* obj = [array objectAtIndex:1];
    [self performSelector:@selector(anotherFunction:) withObject:obj afterDelay:2];

}

-(void) anotherFunction:(Foo*) foo{
 //do something : like runActions 
}

I understand that perform selector will schedule a timer on the same thread which will execute after the given delay. What I am not being able to determine with certainty is if obj can get released before the selector is called? I have tried with different delay values and code has not crashed so far but i would like to know for sure. The object is being passed by reference to the selector but i don't know if the pointer will have a strong hold on the object if somehow the array gets released meanwhile.

Abhineet Prasad
  • 1,271
  • 2
  • 11
  • 14

0 Answers0