zoukankan      html  css  js  c++  java
  • 学习笔记-nil NULL NSNull Nil的区别

    nil--表示实例对象为空  例如  NSString * string = nil;
        
                                          NSArray * array = nil;    我们对于nil的调用 不会产生crash或者异常。例如,一个数组release了,但是没有nil,调用它或直接crash的,但是nil掉的话,就不会crash。

    NULL --(只是一个值)可以用在c语言的各种指针上   char * aa = NULL;
        
                                                      int mm = NULL;

    Nil --表示一个空类。 Class rootViewController = Nil;

    NSNull -- 它是一个单例类,.h里面 + (NSNull *)null; 它定义了一个单例类对象用来表示集合对象里面的空值。例如我的目的是 一个字典里面包含两个键值,最后的键值的值为空。

                                                                                                                       1. NSNumber * num = [NSNumber numberWithInt:1];
        
                                                                                                                       NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",nil,@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                             1 = 1;
                                                                                                                                                                                                                                                                                                     }

                                                                                                                       2. NSNumber * num = [NSNumber numberWithInt:1];
      
                                                                                                                       NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",NULL,@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                             1 = 1;
                                                                                                                                                                                                                                                                                                     }

                                                                                                                       3. NSNumber * num = [NSNumber numberWithInt:1];
      
                                                                                                                       NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",[NSNull null],@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                           1 = 1;  

                                                                                                                                                                                                                                                                                           2 = "<null>";
                                                                                                                                                                                                                                                                                                     }

    实例说明   要想保证两个键值的要求,只有[NSNull null] 可以做到,这就是[NSNull null]与nil   NULL的区别。

  • 相关阅读:
    Springboot(一)springboot简介与入门程序
    Java基础(二)流程语句与数组
    Java基础(一)基础常识
    Kubernetes介绍
    K8s 存储
    Kubernetes 集群组件
    Kubernetes 设计理念
    Kubernetes 部署与实战
    容器技术与资源隔离
    Docker 网络配置
  • 原文地址:https://www.cnblogs.com/luningning0901/p/4876542.html
Copyright © 2011-2022 走看看