我在下一行获得了一个SIGABRT
int main(int argc, char *argv[])
{
@autoreleasepool
{
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
经过一段时间的代码后,我发现sigabrt正好在
之后发生NSData *jsonObj = [NSJSONSerialization dataWithJSONObject:myDict
options:NSJSONWritingPrettyPrinted
error:nil];
然后我发现我在dict的一个属性中使用了一个NSDate,它显然不能被序列化 - 看着输出控制台我也看到了这一行:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'
所以很清楚,我在那里使用了无效的论点。
但令我恼火的是,XCode在返回的UIApplicationMain行上停止了一个信号:SIGABRT,而不是在我传递无效参数的行上显示无效的参数异常。
这种行为的原因是什么?
我正在使用XCode 5.0.2