`
whui0110
  • 浏览: 82957 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

objective-c nil Nil NULL NSNull 区别

    博客分类:
  • ios
阅读更多

nil:指向oc中对象的空指针

Nil:指向oc中类的空指针 

NULL:指向其他类型的空指针,如一个c类型的内存指针

NSNull:在集合对象中,表示空值的对象 

 

[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程序设计].杨正洪等.扫描版

    《Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行...

    Objective-C培训资料

    Object_C 中的 nil 相当于 NULL 。 Object_C 中的 YES 和 NO 相当于 true 和 false 。 这里再讲解一下 YES 和 NO : Object-c 提供了 BOOL 类型,但这个 BOOL 类型和 C++ 里的并不一样:在 C++ 里一切非 0 值的东西...

    ob<x>jective-C学习资料汇总专题

    资源名称:Objective-C学习资料汇总专题资源目录:【】Objective-C NSAutoreleasePool【】Objective-c 中 nil, Nil, NULL和NSNull的区别【】Objective-C 中self 和 super【】Objective-C 的编程之道【】Objective-C_...

    Google Objective-C Style Guide 中文版

    Google Objective-C Style Guide 中文版 目录 例子 空格与格式 空格与制表符 行宽 方法声明与定义 方法调用 @public与@private 异常 协议 命名 文件名 Objective-C++ 类名 分类名 Objective-C方法名 变量名 注释 ...

    总结IOS中nil、Nil、NULL和NSNull区别

    相信有不少朋友想知道,在 Objective-C 中 nil 和 Nil 以及 NULL 的区别。最重要的是,在面试中还有不少朋友常会被问到。现在小编在这里统一详细说明。

    IOS 基础之nil,NULL,NSNULL区别详解

    IOS 基础之nil,NULL,NSNULL区别详解 ① nil:一般赋值给空对象。 ② NULL:NULL 是一个通用指针(泛型指针)。 一般赋值给 nil 之外的其他空值。如SEL等。 ③ NSNULL:[NSNull null] 是一个对象,他用在不能使用 ...

    Using Swift with Cocoa and Objective-C完整中文CocoaChina精校版

    使用 nil (Working with nilWorking with nilWorking with nilWorking with nil Working with nil Working with nil Working with nil Working with nil ) . 11 扩展( Extensions Extensions Extensions ...

    Objective-c对象组装XML

    [map setObject:@"c" forKey:@"content"]; 或者 NSMutableArray *list = [[NSMutableArray alloc]init]; NSMutableDictionary *map1 = [[NSMutableDictionary alloc]init]; [map1 setObject:@"a1" forKey:@...

    iOS中nil、Nil、NULL、NSNull详解

    主要介绍了iOS中nil、Nil、NULL、NSNull详解的相关资料,需要的朋友可以参考下

    objective-c小技巧

    objective-c小技巧 1. 使用@property和@synthesize声明一个成员变量,给其赋值是时要在前面加上"self.",以便调用成员变量的setmember方法。 直接调用成员变量并且给其赋值:member=[NSString stringWithFormat...

    IGScraperKit:在 Objective-C 或 Ruby 中创建动态网页抓取工具!

    在 Objective-C 或 Ruby 中创建动态网络爬虫。 用法 创建一个刮板: # import " IGScraperKit.h " IGScraper* scraper = [IGScraper scraperWithBlock: ^ id (IGXMLNode* node, NSString * url) { return [[[node...

    Objective-C封装字符串存储操作示例

    Objective-C简单封装 字符串的存储操作,省去中间沙盒处理方式 代码如下:/存储publickey和sessionID — writeContent: nil - 仅取出数据, 其他 - 修改原内容并提取+(NSString *)storeFile:(NSString *)fileName...

    XMLReader:基于NSXMLParser的Objective-C XML阅读器

    XMLReader ...NSError *error = nil; NSDictionary *dict = [XMLReader dictionaryForXMLData:data options:XMLReaderOptionsProcessNamespaces error:&error]; 要求 Xcode 4.4及更高版本,因为项目使

    Mango:MangoFix是一种DSL,语法与Objective-C非常相似,MangoFix也是iOS App修补程序SDK。 您可以使用MangoFix方法替换任何Objective-C方法

    MangoFix是一种DSL,其语法与Objective-C非常相似,MangoFix也是一个iOS App修补程序SDK。 您可以使用MangoFix方法替换任何Objective-C方法。 例 # import " AppDelegate.h " # import @implementation AppDelegate...

    Xcode-Singleton-Templates:Objective-C 的单例模板

    KO2Abc* c = [KO2Abc allocWithZone:nil]; KO2Abc* d = [KO2Abc new]; KO2Abc* e = [[KO2Abc alloc] copy]; KO2Abc* f = [[KO2Abc alloc] mutableCopy]; XCTAssertEqualObjects(a, b); XCTAssertEqualObjects(a, c)...

Global site tag (gtag.js) - Google Analytics