美文网首页
(null) 与空 及其字符串的判断

(null) 与空 及其字符串的判断

作者: 傅里叶的幻想 | 来源:发表于2017-04-23 23:19 被阅读0次

    if(property)

    1.(该内存有东西)内存地址存在,不为空,因此就为非0,
    2.(该内存没有东西)内存地址不存在,为空,因此就为0,
    简单的说就是判断property 是否为null和nil 不是null和nil则进入

    重点:if(property),只能判断这个属性有没有被赋值

    一.(null)与<null>

    1)打印为(null) 时说明这个对象是空,也就是nil或者NULL

    比如说从字典里取值,但是这个键值对不存在会就会使nil ,属性没有赋值也为nil;

    特别注意:字典和数组中存放的是对象.如果你声明一个指针属性或者对象,但是没有赋值, 如果这时候你把它存放进字典或数组就会crash 因为他是nil或者NULL 而不是对象.
    从字典取值不受影响,他会拿着key去配对,取得相应的value,如果没有value则为nil

    所以存入字典或数组前,必须判断->if(property)

    2)打印为<null>,说明这个对象为NSNull对象

    nsnull 是对象,if(nsnull)返回的是YES

    NSNull是对象,所以可以存入数组和字典

    3) @""与nil

    @""!不等于nil ,@""只是说这个字符串没有内容 还是对象,所以 if(@"")可进入

    NSString *str = @"";  
    

    错误写法

     if (str) {    
        //[图片上传中。。。(1)]不能用来判断是否是空串 
       }  
    

    正确写法

      if (str.length == 0) {       
       //这样就不会跳进来,因为是空串
      }
    

    相关文章

      网友评论

          本文标题:(null) 与空 及其字符串的判断

          本文链接:https://www.haomeiwen.com/subject/cchuzttx.html