taj*_*hal 7 macos block objective-c
在我的applicationDidFinishLaunching:方法中,我创建了一个对象并在其上调用异步方法,如下所示:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
Foo *foo = [[Foo alloc] init];
[foo asynchronousMethodWithCompletion:^{
// Location A
}];
// Location B
}
Run Code Online (Sandbox Code Playgroud)
如果我不使用ARC,我必须在哪里放[foo release]?在完成块(位置A)内或异步方法调用之后(位置B)?或者根本不重要?
你放在[foo release]位置B,就像你通常会做的那样,如果有一个常规的方法调用而不是块.该块将保留该对象并在完成后释放它.
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |