`
xjk112
  • 浏览: 10352 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

ios nil Nil Null

    博客分类:
  • ios
 
阅读更多

i am newbie to iphone,here the difference between nil, Nil, Null;

nil -> Null-pointer to objective-c object

Nil -> Null-pointer to objective-c class

Null - > null pointer to primitive type or absence of data;(null 指针 ->一个原始的类型或缺失的对象)

here is details;

Follow me:

                  nil is the literal(字面) null value for Object-c objects,corresponding(匹配) to the abstract type id

or any Objective-C type declared via(声明) @interface,For instance:

              NSString *someString = nil;

              NSURL *someURL = nil;

              id  someObject = nil;

              if (anotherObject == nil) // do something

 

                  Nil is the Literal null value for Object-C class, corresponding to the type Class, Since most

code doesn't need variables to reference classes,its use is not common.One exampe is:

            Class someClass = Nil;

            Class anotherClass = [NSString class];

 

               NUll is the literal null value arbitracy C pointer , For instance:

             int *pointerToInt = NULL;

             char *pointerToChar = NULL;

             struct TreeNode *rootNode = NULL;

           NSNULL is a class for objects that represent null, in fact, there's only one object,namely the one returned by  +[NSNULL null](the same in java); It is different from nil,because nil is a literal null value,it isn;t an object,The single instance of NSNull ,on the other hand, is a proper object;

           the methods of too frequently

           NSMutableDictionary *dict = [NSMutableDictionary dictionary];

           [dict setObject:ni forKey:@"someKey"];   Error!!!!!!!!!!!!!!!!!!!!!!!!!

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

 

分享到:
评论

相关推荐

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

    在Objective-C编程中,了解nil、Nil、NULL和NSNull之间的区别至关重要,因为它们在不同场景下有着不同的用途和含义。下面将逐一详细介绍这些概念。 1. **NULL** NULL是C语言中的一个宏,用来表示空指针。在C语言中...

    ios-清理模型中的nil.zip

    标题"ios-清理模型中的nil.zip"所涉及的内容就是关于如何在模型转换过程中有效地处理这些`nil`或`null`值,以避免程序运行时出现异常。 描述中提到的"清理字典转模型后模型中的nil,属性多于字典,服务器返回为null...

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

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

    iOS中nil、Nil、NULL、NSNull详解

    在iOS开发中,我们经常会遇到各种表示空值的符号,如nil、Nil、NULL和NSNull。理解它们的区别和用途是编写清晰、可维护代码的关键。 1. nil nil是Objective-C中的对象空值,主要用于表示id类型或者使用@interface...

    ios-后台返回数据排空(nsnull nil)处理.zip

    在iOS开发中,后台返回的数据排空,即`NSNull`或`nil`值的处理,是一个常见的问题,尤其在与服务器进行数据交互时。服务器返回的数据可能存在缺失或者异常,导致程序在解析过程中可能出现崩溃。本教程将深入探讨如何...

    IOS 去null

    在iOS开发中,JSON解析是常见的任务,但处理null值时常常会遇到问题。"IOS 去null"这个主题主要是关于如何优雅地处理JSON解析过程中遇到的null值,以避免程序运行时出现异常。这里我们将深入探讨这个问题,并通过...

    IOS 开发之对象为空的判断(nil、null)详解

    总之,理解和正确使用`nil`和`null`,以及它们与不同对象类型的交互,是iOS开发中必不可少的技能。通过上述的判断方式,开发者可以确保在处理可能为空的对象时避免运行时错误,从而提高应用的稳定性和用户体验。希望...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    通过以上方法,可以有效地处理iOS开发中JSON解析时遇到的`null`、`nil`和`NSNumber`问题,确保应用的稳定性和安全性。在实际开发中,选择最适合项目需求的解决方案,并保持代码的可读性和可维护性。

    iOS 泛型中nullable、null resettable、null kindof 用法详解

    在iOS开发中,特别是在使用Swift或Objective-C进行编程时,理解并正确使用泛型中的`nullable`、`null_resettable`、`null kindof`关键字至关重要。这些关键字用于明确表示对象是否可以为`nil`,这有助于防止因意外的...

    解决iOS中常见的几种Crash1

    尤其要注意服务器返回的null数据,需要在使用前进行适当的转换或过滤。 字符串截取越界也是导致崩溃的一个因素,可以通过类似的方法交换策略,对`NSString`的相关方法进行处理,如`substringWithRange:`,确保截取...

    IOS RSA公私钥生成IOS RSA公私钥生成

    nil].CFDictionaryRef; // 生成密钥对 OSStatus status; CFTypeRef privateKeyRef, publicKeyRef; status = SecKeyGeneratePair(keyAttributes, &privateKeyRef, &publicKeyRef); if (status != errSecSuccess) { ...

    iOS-Null passed to a callee that requires a non-null argument警告

    Null passed to a callee that requires a non-null argument 此警告就是某属性说好的不能为空,你又在某地方写了XX = nil 所以冲突了 这个警告比较新,是xcode6.3开始 为了让OC也能有swift的?和!的功能,你在声明...

    iOS DES加解密

    在iOS开发中,数据安全是至关重要的,尤其是在处理敏感用户信息时。DES(Data Encryption Standard)是一种广泛应用的对称加密算法,它为数据提供了一种可靠的安全保护方式。本篇文章将深入探讨iOS平台上的DES加解密...

    ArcGIS API for iOS进阶教程课件

    - **布尔类型与null**:Objective-C中使用YES和NO表示布尔值,nil代表空对象,与C/C++中的NULL不同,nil可调用方法而不导致程序崩溃。 - **异常处理**:通过@try/@catch/@finally语句块进行异常捕捉与处理。 - **...

Global site tag (gtag.js) - Google Analytics