学习笔记-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的區別。
?
轉載于:https://www.cnblogs.com/luningning0901/p/4876542.html
總結
以上是生活随笔為你收集整理的学习笔记-nil NULL NSNull Nil的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]从12306谈起验证码的架构
- 下一篇: 网页制作中绝对路径和相对路径的区别