nil、Nil、NULL、NSNULL

696 ワード

Nil、Nil、NULL、NSNullの違い
Nil:objective c idオブジェクトに対してNull値を付与するNil:クラスに対してNull値を付与することを示すNULL:基本タイプ、Cタイプなどの他のタイプに対してNull値を付与するNSNull:通常はセット内のNull値を表し、Nullオブジェクトを表す.
例:
NSURL *url = nil;
Class class = Nil;
int *pointerInt = NULL;
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];

どうして上のarrayの中の空のオブジェクトは直接nilを使わないのですか?nilを使用するとNSArray*array=[NSArray arrayWithObjects:[[NSObject alloc]init],nil,[[NSObject alloc]init],[[NSObject alloc]init],[[NSObject alloc]init],nil];では、配列は2番目の位置に終わります.[array count]を印刷すると4ではなく1が表示されるので[NSNull null]は通常1つの配列のプレースホルダとして、配列のcountから正確に計算できます