jlp*_*ita 7 cocoa cocoa-touch objective-c
有一些方法可以测试一个objective-c实例被解除分配/释放(保留计数== 0)?
例如,对象A有一个对象B的引用(指针),但是对象B可以在内存中释放低级别,我如何测试引用B以确保它被解除分配?
@interface A : NSObject {
B b;
}
@implementation A {
- (void) someAction:(id) sender {
//is b previously dealloced??
if ..... ???? {
b = [[B alloc] init];
}
// continue
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!!
小智 13
如果设置NSZombieEnabled环境变量,则释放的对象将成为实例NSZombie.它们在下一次消息时抛出,导致代码崩溃和刻录 - 正是您需要调试这种情况.
http://www.cocoadev.com/index.pl?DebuggingAutorelease
更新:对于XCode 4.0,请参阅如何在Xcode中启用NSZombie?
| 归档时间: |
|
| 查看次数: |
16974 次 |
| 最近记录: |