nil Nil NULL NSNull 之間的區別

2021-06-27 02:50:28 字數 813 閱讀 2128

nil 是對objective c id 物件賦空值

例如:

nsstring * string = [nsstring stringwithformat:@"test"];

string = nil;

對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最好也把他們賦值為nil,這樣確保安全性,下面乙個簡單的乙個例子:如果不賦值nil,可能導致程式崩潰

nsarray * array = [nsarray arraywithobjects:@"test",@"test1" ,nil];

[array release];

if (array)

程式設計的時候對集合類物件先賦值為nil,再將其release這樣可以保證程式安全性,蘋果官方例子中也看到過在viewdidunload把物件賦值nil,然後在

dealloc方法中將他們release,

nil: a null pointer to an objective-c class.表示對類進行賦空值

null: a null pointer to anything else,  is for c-style memory pointers. 用於對非物件指標賦空值,比如c指標

nsnull 對於像nsarray這樣的型別,nil或null不能做為加到其中的object,如果定義了乙個nsarray,為其分配了記憶體,又想設定其中的內容為空,則可以用[nsnull null】返回的物件來初始化nsarray中的內容

nil Nil NULL NSNull 之間的區別

nil 是對objective c id 物件賦空值 例如nsstring string nsstringstringwithformat test string nil 對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最好也...

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

nil用來給物件賦值 objective c中的任何物件都屬於id型別 null則給任何指標賦值,null和nil不能互換,nil用於類指標賦值 在objective c中類是乙個物件,是類的meta class的例項 而nsnull則用於集合操作,雖然它們表示的都是空值,但使用的場合完全不同。示例...

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

1 nil 一般賦值給空物件 2 null 一般賦值給nil之外的其他空值。如sel等 modaldelegate nil pointing to an object didendselector null pointing to a non object class contextinfo nul...