Fra*_*ank 3 cocoa-touch objective-c ios
在许多代码示例中,也在Apple文档网站上,您将看到这种模式.UIAlertView按顺序调用"show"和"release".
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Panic!"
message:@"The world is gonna explode!"
delegate:nil cancelButtonTitle:@"Who cares?"
otherButtonTitles:@"Boom!", nil];
[alert show];
[alert release];
NSLog(@"released!");
Run Code Online (Sandbox Code Playgroud)
当您运行此代码时,"已发布!" 当UIAlertView框仍在屏幕上时,将显示日志行.当它仍然在屏幕上看到时,释放这个对象似乎是一种奇怪的模式.这背后的想法是什么,这不是针对内存管理的常见问题吗?如果这个"show"调用会阻塞,我可以看到这个模式如何安全地释放内存.但是,由于执行了NSLog方法,它会继续执行您的代码.
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |