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,@“”之间的区别。在今后的实战中要加以运用及检验,继续努力奋斗。
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,@“”之间的区别。在今后的实战中要加以运用及检验,继续努力奋斗。
相关文章推荐
- @""与null和nil的区别
- NULL 、nil、 Nil 、[NSNull null] 、@"" 整理
- java--空字符串""和null的区别
- String.Empty,NULL和""的区别
- String.Empty,NULL和""的区别
- C#中null和""以及string.Empty的区别
- null和“”的区别,null是空的,""并不是空
- iOS NSNull,nil,Nil的区别
- String.Empty、null和""的区别
- C#中 NULL 、String.Empty 、""的区别
- Java中 Null & " " 的概念,与区别
- C#中,string str1 = null 与 string str2= " " 的区别
- ios之nil、NULL、NSNULL/Nil的区别
- params.equals(""),!params.isEmpty(),params!=null的区别
- java null和""的区别
- JAVA中isEmpty和null以及""的区别
- null与""的区别
- C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
- iOS中nil和Nil和NULL和[NSNull null]区别
- nil Nil NULL NSNull 之间的区别