In my applicationDidFinishLaunching:
method, I create an object and call an asynchronous method on it, like so:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
Foo *foo = [[Foo alloc] init];
[foo asynchronousMethodWithCompletion:^{
// Location A
}];
// Location B
}
If I do not use ARC, where do I have to put [foo release]
? Inside the completion block (Location A) or right after the asynchronous method call (Location B)? Or doesn't it matter at all?
You put [foo release]
at Location B, like you normally would do if there was a regular method call instead of the block. The block will retain the object and release it after it is done.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With