问题描述
||
在调试iOS应用程序时,我总是使用NSLog来打印对象的内容。但是每当我遇到一个“ nil”对象时,程序就会崩溃。在Java中,如果对象为null,则将输出\“ null \”。在Objective-C中有没有办法做到这一点?
解决方法
就像是:
if (questionableObject == nil) {
NSLog(@\"questionableObject is nil.\");
} else {
NSLog(@\"questionableObject is: %@\",questionableObject);
}
当我向使用nil对象作为参数的NSLog参数列表中的对象发送消息时,我才真正遇到了这个问题。像这样:
if (questionableObject == nil) {
NSLog(@\"questionableObject is nil.\");
} else {
NSLog(@\"result is: %@\",[something someMessage:questionableObject]);
}
, “打印出对象的内容”是什么意思?如果您要取消引用nil指针,则将导致问题。如果您只是打印指针,那应该没问题。您还可以毫无问题地将消息发送到nil,因此您可以执行以下操作:
NSLog(@\"theObject is: %@\",[theObject description]);