歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Objective-C語言中nil、Nil、NULL、NSNull的區別

Objective-C語言中nil、Nil、NULL、NSNull的區別

日期:2017/3/1 9:20:28   编辑:Linux編程

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

Copyright © Linux教程網 All Rights Reserved