HI,作为一名初学者我想知道NSZombie,有人可以解释一下NSZombie的使用,并提供一些示例代码吗?它如何处理崩溃,以什么方式进行功能化,谢谢你提前
答案 0 :(得分:0)
NSZombie
会导致对象在被取消分配后保留在内存中。它们被标记为僵尸而不是被解除分配,如果有人调用它们则会引发异常。所以在ARC之前的世界,如果你这样做:
NSString *someString = [[NSString alloc] initWithString:@"String to copy"];
[someString release];
NSLog(@"%@", someString);
然后日志会引发异常,您就会立即知道谁在拨打无效电话。没有僵尸的风险是某些其他对象 - 可能是其他一些字符串 - 将获得与someString
相同的内存存储,并且您的呼叫可能根本不会发生故障或者可能有任何其他未定义的结果。
要启用僵尸运行,只需编辑项目目标并勾选“启用僵尸对象”。