您的位置:首页 > 其它

nil Nil NSNull @""的区别

2013-03-09 11:18 330 查看
(一)关于nil

nil表示空值,用于Objective-C对象。例如id类型或者通过@interface声明的类对象。举些例子:

NSString *oneString = nil;

NSURL *hotRecipeURL = nil;

id someObject = nil;

if (oneObject == nil){

     NSLog(@"object is nil ");

}

(二)关于Nil

Nil表示空值,用于Objective-C类,这个个人感觉很少用到。显著的特征是Class这个“关键字”。举例如下:

Class firstClass = Nil;

(三)关于NULL

NULL表示空值,用于C指针类型。举例如下:

int *intPointer = NULL;

float *floatPointer = NULL;

char *charPointer = NULL;

struct TreeNode *rootNode = NULL;

(四)关于NSNull

NSNull可用来表示空对象。通过[NSNull null]得到的单例是对象,它不同于nil,因为nil表示的是空值。在一些容器对象中,例如字典(NSDictionary)中,没有办法存入nil,但可以存入[NSNull null]这个对象。

NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setObject:[NSNull null] forKey:@"someKey"];

for (int i = 0; i < kNumberOfPages; i++){

    [array addObject:[NSNull null]];

}

(六)关于@“”

@“”表示空字符串。其长度为零。

总结:通过学习理解了NULL,NSNull,Nil,nil,@“”之间的区别。在今后的实战中要加以运用及检验,继续努力奋斗。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: