1、nil:一般賦值給空物件;
2、null:一般賦值給nil之外的其他空值。如sel等;
modaldelegate:nil //pointing to an object
didendselector:null //pointing to a non object/class
contextinfo:null]; //pointing to a non object/class
3、nsnull:nsnull只有乙個方法:+ (nsnull *) null;
[nsnull null]用來在nsarray和nsdictionary中加入非nil(表示列表結束)的空值.[nsnull null]是乙個物件,他用在不能使用nil的場合。
4、當向nil傳送訊息時,返回no,不會有異常,程式將繼續執行下去;
而向nsnull的物件傳送訊息時會收到異常。
因為在nsarray和nsdictionary中nil中有特殊的含義(表示列表結束),所以不能在集合中放入nil值。如要確實需要儲存乙個表示「什麼都沒有」的值,可以使用nsnull類。nsnull只有乙個方法:
+ (nsnull *) null;
總結來說:nil是乙個物件指標為空,nil是乙個類指標為空,null是基本資料型別為空。
這些可以理解為nil,nil, null的區別吧。
nil,Nil,null,NSNULL的區別與用法
nil用來給物件賦值 objective c中的任何物件都屬於id型別 null則給任何指標賦值,null和nil不能互換,nil用於類指標賦值 在objective c中類是乙個物件,是類的meta class的例項 而nsnull則用於集合操作,雖然它們表示的都是空值,但使用的場合完全不同。示例...
nil Nil NULL NSNull 之間的區別
nil 是對objective c id 物件賦空值 例如 nsstring string nsstring stringwithformat test string nil 對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最...
nil Nil NULL NSNull 之間的區別
nil 是對objective c id 物件賦空值 例如nsstring string nsstringstringwithformat test string nil 對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最好也...