小弟刚刚学习  弱弱的问一下 iOS开发 nil,Nil,NULL的区别ios开发nil

解决方案 »

  1.   

    看下定义就知道了,其实是等价的...就是0,只是不同的别名而已。
    #ifndef NULL
    #define NULL    __DARWIN_NULL
    #endif /* ! NULL */
    #ifndef nil
        #define nil NULL
    #endif /* ! nil */
      

  2.   


    你说的是空字符串吧?空串是有值的,长度为0的字符串...
    nil, NULL更多的还是用在指针里,将指针置NULL避免野指针...
      

  3.   

    IOS开发中,你只用nil就好,其它的不用!
    就好比VC中的BOOL和bool是有区别的,但在IOS中,你只用大写的BOOL就可以了,根本不用关心它们的区别,因为小写的bool你根本不用!
      

  4.   

    有区别
    [NSNull null]
    nil
    xxx == nil
    [xxx isEquals:[NSNull null]]
    遇到过一个JSON返回结果{"aaa":null}
    会被解析为NSNull而不是nil
    这时候xxx == nil是判断不出来,会造成程序奔溃
      

  5.   

    nil表示一个对象指针为空,针对对象
    Nil表示一个类指针为空,针对类
    NULL表示基本数据类型为空,基本类型