zoukankan      html  css  js  c++  java
  • iOS 中nil,Nil,NULL,NSNull的区别

    类与对象的概念

    类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法)。

    对象是类的一个实例,是一个具体的事物。

    类与对象是抽象与具体的关系。

    类其实就是一种数据类型,它的变量就是对象。

    nil、Nil、NULL、NSNull的区别

    nil:指向一个对象的空指针

    Nil:指向一个类的空指针

    NULL:指向其他类型(如:基本类型、C类型)的空指针

    NSNull:通常表示集合中的空值

    举例:

    NSURL *url = nil;

    Class class = Nil;

    int *pointerInt = NULL;

    NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];

    为什么上面的array里面的空对象不直接用nil?

    如果用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil,  [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束。打印[array count]的话会显示1而不是4

    所以[NSNull null]通常可以作为一个数组的占位符,从而是数组的count计算准确

  • 相关阅读:
    Java_流程控制
    Java_循环
    Java_集合
    Java_泛型
    关于DTO的理解
    IDEA_Springboot启动Tomcat报错_APR
    canvas画圆又毛边
    关于数字加载的动画 jquery
    微信里关闭窗口 js
    依赖jquery的select皮肤2
  • 原文地址:https://www.cnblogs.com/6duxz/p/6889463.html
Copyright © 2011-2022 走看看