我编写了以下代码来引发崩溃(我正在使用 CrashReporter测试一些问题):
int *nullp = NULL;
int val = *nullp;
NSLog(@"Hello world %d", val);
在一个全新的项目中(我把它放在应用程序委托中applicationDidFinishLaunching:
)它按预期崩溃。但是当我将它添加到我现有的项目之一时,它不会崩溃!事实上,它最终会在系统日志中打印“Hello world 0”。
这对我来说没有任何意义。为什么 null 取消引用不会导致崩溃?