在我的applicationDidFinishLaunching:
方法中,我创建了一个对象并在其上调用异步方法,如下所示:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
Foo *foo = [[Foo alloc] init];
[foo asynchronousMethodWithCompletion:^{
// Location A
}];
// Location B
}
如果我不使用ARC,我必须在哪里放[foo release]
?在完成块(位置A)内或异步方法调用之后(位置B)?或者根本不重要?
答案 0 :(得分:6)
您将[foo release]
放在位置B,就像通常的方法调用而不是块一样。该块将保留该对象并在完成后释放它。