nil,Nil,null,NSNULL的區別與用法

2021-07-08 09:02:09 字數 743 閱讀 9570

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 的同時最好也...