• il , Nil , NULL, [NSNull null] , @"" 详解


    NSString*str1 = nil;

        NSString*str2 = Nil;

        NSString*str3 = NULL;

        NSNull*str4 = [NSNull null];  

        NSString*str5 = @"";

        NSLog(@"   str1:%p  str2:%p  str3:%p  str4:%p  str5:%p ", nil, NULL, Nil, [NSNull null], @"");

        NSLog(@"  str1:%@  str2:%@  str3:%@  str4:%@  str5:%@ ", str1, str2, str3, str4, str5);

    结果:

    2013-05-09 16:42:00.124 Targets[674:c07]  

     str1:0x0

     str2:0x0

     str3:0x0

     str4:0x1dc2678

     str5:0x46f4

    2013-05-09 16:42:04.717 Targets[674:c07] 

    1.描述

     str1:(null)

     str2:(null)

     str3:(null)

     str4:<null>

     str5:

    ====================================

    2.描述

    Printing description of str1:

    <nil>

    Printing description of str2:

    <nil>

    Printing description of str3:

    <nil>

    Printing description of str4:

    <null>

    Printing description of str5:

    <object returned empty description>

    2种方式打印出来的描述不太一样啊。

    可以看到 nil,Nil, NULL, 本质上是相同的 都指向0X0 地址

    而 【NSNULL null】 和 @“” 应该是在常量存储区的。占用着固定地址。

    经验告诉你:NSString 类型去接受一个nsnull类型的数据,很多NSString的方法都不能使用,如下:

    str接收了一个nsnull

    [str isEqual: @""]   //程序崩溃

      不能识别isEqual方法

     str.length >0 //程序又崩溃

    不能识别length属性

    而且,nsnull类型都无法和  @“”   nil  Nil NULL 比较

    有人说:爱上一座城,是因为城里住着某个人,能够与所爱的人在一起,连光阴都是美的。即便粗茶淡饭,修篱种田,只要有你陪伴就好。那么,找一个青山绿水的地方,寻一处幽静的茅舍,或是云水禅心的庭院,那里有晴朗的阳光和静谧的悠然,还有你明媚的笑脸。掬一捧花香在平淡的日子,握着一路相随的暖意,让爱的馨香在柴米油盐中升腾;在一杯茶的温情里,体味生活的诗意;在一碗粥的清淡中,感受生活的浪漫,每天清晨你和阳光都在,便是我的幸福。——春暖花开 《择一城终老,遇一人白首》
  • 相关阅读:
    STL目录
    Hola!
    SWPUCTF 2019总结以及部分WP
    SQL手工注入基础篇
    JDK11,JDK12没有JRE的解决方法
    FJUT2019暑假周赛三部分题解
    FJUT2019暑假周赛一题解
    随笔1
    关于针对本校教务系统漏洞的一次信息检索
    KMP算法讲解
  • 原文地址:https://www.cnblogs.com/-Eric-Liu/p/5564181.html
Copyright © 2020-2023  润新知