nil,Nil,NULL,NSNull,[NSNull null]

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

Nil:指向oc中类的空指针

NULL:是一个通用指针(泛型指针),指向其他类型的空指针,如一个c类型的内存指针

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

[NSNull null]:是一个对象,他用在不能使用nil的场合。在集合中不能存放nil值,因为在NSArray和NSDictionary中nil有特殊的含义。但是在有些时候,确实需要用到这样的空值,比如在字典中,电话簿中"Jack"关键字下有电话号码、家庭住址、Emai等等信息,但是现在只知道他的电话号码,这种不知道其他信息的情况下为了消除一些歧义,有必要将它们设置为空,所以Cocoa提供了NSNull

NSNull只有一个方法:null

[dictionary setObject:[NSNull null], forKey:"Email"];

if(EmailAdress == [NSNull null])

{

//to do something...

}

时间: 2024-10-07 00:19:54

nil,Nil,NULL,NSNull,[NSNull null]的相关文章

step 5 NULL & nil & Nil & NSNULL

NULL & nil & Nil & NSNULL nil 是 OC 的,空对象,地址指向 空(0) 的对象 在 OC 中,可以给空对象发送任何消息,不会出现错误 NULL 是 C 的,空地址,地址的数值是 0,是一个长整数 表示地址是空 NSNull 用于解决向 NSArray 和 NSDictionary 等集合中添加空值的问题 值 定义 NULL (void *)0 C指针的字面零值 nil (id)0 Objective-C对象的字面零值 Nil (Class)0 Obje

[swift、oc]浅聊nil、Nil、NULL、NSNull的区别

我们都知道nil.Nil.NULL.NSNull都表示为空但是究竟有什么区别,相信大家也很少关注.今天我们就浅聊一下这几个空的区别 1.nil nil一般是指把一个对象置空,既完全是一个空对象,完全从内存中释放. 2.Nil Nil和nil基本没有任何区别,也可以说只要是可以使用nil的地方都可以使用Nil,反之亦然.但是作为程序猿,我们应该更加严谨一些.nil和Nil的区别在于,nil表示置空一个对象,二Nil表示置空一个类. 3.NULL 大家都知道oc 是基于c的,并且oc是完全兼容c的,

nil和Nil及NULL、NSNull的区别

nil:  是一个对象值:如果我们要把一个对象设置为空的时候就用nil; A null pointer to an Objective-C object. ( #define nil ((id)0) ) Nil :是一个类对象的值,如果我们要把一个Class类型的对象设置为空的时候就用Nil ; A null pointer to an Objective-C class. NULL  是一个通用指针:A null pointer to anything else. ( #define NULL

辨析nil,Nil,NULL,NSNull

辨析nil,Nil,NULL,NSNull 概念说明: nil:表示oc中指向对象的指针为空 Nil:表示oc中指向类的指针为空 NULL:指向其他类型指针为空,如一个c类型的内存指针 NSNull:是一个单利对象,在不允许对象指针为nil的集合中,表示空值的对象 若obj为nil: [obj message]将返回NO,而不是NSException 若obj为NSNull: [obj message]将抛出异常NSException 辨析nil,NULL,Nil nil和NULL从字面意思来理

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], [[NS

OC中Nil、nil、NULL、NSNull、class、Class

原先对此很迷惑,但是在网上看了很多文章后略有所得. 1.Class和class class指类,类是对象(object)的类型.比如 NSString *str = [[NSString alloc]init]: NSString就是一个class,是对象str的类型. Class指类的类型,比如:Class aclass = [NSString class]: aclass就是一个类,就是NSString这个类,而Class就势aclass的类型. 2.Nil.nil.NSNull.NULL

nil Nil NULL NSNull 之间的区别

nil -> Null-pointer to objective- c objectNIL -> Null-pointer to objective- c class  表示对类进行赋空值NULL: A null pointer to anything else,  is for C-style memory pointers. 用于对非对象指针赋空值,比如C指针看一下用法NSURL *url = nil:Class  class = Nil:int *pointerInt = NULL:ni

nil、Nil、NULL、NSNull的区别

nil:指向一个对象的空指针,对objective c id 对象赋空值. Nil:指向一个类的空指针,表示对类进行赋空值. NULL:指向其他类型(如:基本类型.C类型)的空指针, 用于对非对象指针赋空值. NSNull:在集合对象中,表示空值的对象. 1.nil 在指向一个对象的指针为空 定义如下: #ifndef nil # if __has_feature(cxx_nullptr) # define nil nullptr # else # define nil __DARWIN_NUL

NULL & nil & Nil & NSNULL

nil 是 OC 的,空对象,地址指向 空(0) 的对象 在 OC 中,可以给空对象发送任何消息,不会出现错误 NULL 是 C 的,空地址,地址的数值是 0,是一个长整数 表示地址是空 NSNull 用于解决向 NSArray 和 NSDictionary 等集合中添加空值的问题   值 定义 NULL (void *)0 C指针的字面零值 nil (id)0 Objective-C对象的字面零值 Nil (Class)0 Objective-C类的字面零值 NSNull [NSNull nu

<转>ios nil、NULL和NSNull 的使用

nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一个对象,是类的meta-class的实例), 而NSNull则用于集合操作,虽然它们表示的都是空值,但使用的场合完全不同. 示例如下: id object = nil; // 判断对象不为空 if (object) { } // 判断对象为空 if (object == nil) { } // 数组初始化,空值结束 N