zoukankan      html  css  js  c++  java
  • IOS中nil/Nil/NULL的区别

    nil:指向oc中对象的空指针

    Nil:指向oc中类的空指针

    NULL:指向其他类型的空指针,如一个c类型的内存指针

    NSNull:在集合对象中,表示空值的对象

    [NSNull null]通常作为占位符作用

    举例:

    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计算准确

  • 相关阅读:
    几数之和的题目
    File类
    递归
    Collections
    Map集合
    泛型
    类型通配符
    可变参数
    异常
    Collection集合
  • 原文地址:https://www.cnblogs.com/yuyu-2012/p/4775988.html
Copyright © 2011-2022 走看看