• iOS中nil,NULL,Nil,NSNull的区别


    最近心情不太好,往往心情不太好的时候喜欢学点东西,写点东西,具体因为什么心情不太好在这里就不给大家爆料了哦!

    言归正传:

    1、nil定义一个实例为空, 指向oc中对象的空指针.

    注意:当release一个对象的同时将该对象赋值为nil,这样确保安全性.

    2、NULL在C语言中常用来表示一个空值.

    注意:在Objective-C里,nil对象被设计来跟NULL空指针关联的。他们的区别就是nil是一个对象,而NULL只是一个值。而且我们对于nil调用方法,不会产生crash或者抛出异常.

    3、Nil用来定义一个空的类

    例如:Class someClass = Nil;

    4、NSNull类定义了一个单例对象用于表示集合对象的空值.

    注意:集合对象无法包含nil作为其具体值,如NSArray、NSSet和NSDictionary。相应地,nil值用一个特定的对象NSNull来表示。NSNull提供了一个单一实例用于表示对象属性中的的nil值。默认的实现方法中,dictionaryWithValuesForKeys:和setValuesForKeysWithDictionary:自动地将NSNull和nil相互转换,因此您的对象不需要进行NSNull的测试操作.

  • 相关阅读:
    WCF双工通讯以及客户端间的间接通讯
    认识IoC
    学习“迷你ASP.NET MVC框架”后的小结
    MVP的PV模式与SC模式
    Android学习笔记(九) 视图的应用布局效果
    C# 动态编译
    C#中协变与抗变(逆变)
    线程池ThreadPool的初探
    关于异步的初步认识
    仿Office的程序载入窗体
  • 原文地址:https://www.cnblogs.com/zhaoguowen/p/4143417.html
Copyright © 2020-2023  润新知