NSString之前的感叹号

时间:2011-02-13 05:59:33

标签: objective-c nsstring

请告诉我感叹号在NSString之前的含义是什么

NSString *theString;
if (!theString);

欢呼声;

2 个答案:

答案 0 :(得分:3)

!是布尔否定操作。它将YES反转为NO,反之亦然。 NO总是等于0,而YES是任何非零值,并且正如Jeremiah所指出的,nil指针是一个设置为0x0或十进制0的指针。任何非零指针都有一个布尔值为TRUE。因此,(!theString)相当于(theString == nil)

答案 1 :(得分:2)

此处的!符号(以及类型为指针的任何表达式前面)如果指针为NULL则返回true(1)结果,否则返回false(0)。 !theString表达式只是说theString == NULL的简短方法。