Objective-C語言中nil、Nil、NULL、NSNull的區別
以下內容是基於搜集整理的網上資料,供參考。
nil:指向Objective-C語言中對象的空指針,其定義值為(id)0。
Nil:指向Objective-C語言中類(Class)的空指針,其定義值為(Class)0。
NULL:指向C語言中的標准空指針,其定義值為(void *)0。
NSNull:在Objective-C語言的集合對象中,表示空值的對象,其定義值為[NSNull null]。[NSNull null]是一個對象,用在不能使用nil的場合。
因為在NSArray和NSDictionary中nil有特殊的含義(表示列表結束),所以不能在集合中放入nil值。如要確實需要存儲一個表示“什麼都沒有”的值,可以使用NSNull類。例:[NSMutableArrayObj addObject:[NSNull null]];
若obj為nil:[obj message]將返回NO,而不是NSException。
若obj為NSNull:[obj message]將拋出異常NSException。
Objective-C中@property的所有屬性詳解 http://www.linuxidc.com/Linux/2014-03/97744.htm
Objective-C 和 Core Foundation 對象相互轉換的內存管理總結 http://www.linuxidc.com/Linux/2014-03/97626.htm
使用 Objective-C 一年後我對它的看法 http://www.linuxidc.com/Linux/2013-12/94309.htm
10個Objective-C基礎面試題,iOS面試必備 http://www.linuxidc.com/Linux/2013-07/87393.htm
Objective-C適用C數學函數 <math.h> http://www.linuxidc.com/Linux/2013-06/86215.htm
好學的 Objective-C 高清PDF http://www.linuxidc.com/Linux/2014-09/106226.htm