文档章节

iOS中nil Nil NULL 区别

RainOrz
 RainOrz
发布于 05/07 10:32
字数 278
阅读 13
收藏 1

一、nil
当一个对象置为nil时,这个对象的内存地址就会被系统收回。置空之后是不能进行retain,copy等跟引用计数有关的任何操作的。
二、Nil
nil完全等同于Nil,只不过由于编程习惯,人们一般把对象置空用nil,把类置空用Nil。
三、NULL
这个是从C语言继承来的,就是一个简单的空指针
四、[NSNull null]
这个才是重点:[NSNull null]和nil的区别在于,nil是一个空对象,已经完全从内存中消失了,而如果我们想表达“我们需要有这样一个容器,但这个容器里什么也没有”的观念时,我们就用到[NSNull null],它就是为“值为空的对象”。如果你查阅开发文档你会发现NSNull这个类是继承NSObject,并且只有一个“+ (NSNull *) null;”类方法。这就说明NSNull对象拥有一个有效的内存地址,所以在程序中对它的任何引用都是不会导致程序崩溃的。

© 著作权归作者所有

共有 人打赏支持
RainOrz
粉丝 7
博文 104
码字总数 80823
作品 0
青浦
程序员
iOS中,对象释放机制以及__weak、__unsafe_unretained的一些问题

iOS中,首先有一点可以确认的,就是weak修饰的,在持有或者引用为0的时候,为自动将对象nil,iOS中对于一个nil发消息是不会发生崩溃等问题的,而unsafeunretained则不然,他不会销毁置为nil,因...

RainOrz
06/26
0
0
AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能,...

lewis-180
2015/04/02
0
0
《小印记》iOS源码分享--HTTPS配置篇

笔者前不久终于发布了自己的APP《小印记》,在此分享一些iOS源码,如果读者学到了有用的东西,希望能前往App Store下载《小印记》支持一下笔者,谢谢! 《小印记》iOS源码分享--极光推送实践...

_子墨
2017/03/22
0
0
Core Data 学习笔记(二)被管理对象模型

目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 三、被...

灰大羊
2015/07/26
0
0
iOS时间那点事--NSDate分类

iOS 时间那点事 NSDate分类(Catogery) 分类 类,是面向对象语言的基本;类,是具有相同属性和行为的一类事物的概括,这是一种抽象;但是,事物总是多方面的,如此之多以至于我们每每看到深不...

JustBen
2013/08/23
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

游戏开发经验谈(二):对战类全球服游戏的设计与实现

上篇文章《游戏开发经验谈(一):游戏架构里隐藏的五个坑及其应对方案》,我们主要讲解了游戏架构设计当中隐藏的一些坑及其应对方案,错过的小伙伴可以回溯之前的内容。本期内容,将会重点介...

UCloudTech
11分钟前
0
0
Mysql基本语法

一.联合主键 drop table CONTENT_AND_CATALOG;CREATE TABLE `tobebetter`.`CONTENT_AND_CATALOG` ( `ID` VARCHAR(120) NOT NULL , `CONTENT_ID` VARCHAR(120) , `CA......

我是菜鸟我骄傲
12分钟前
0
0
179. centos7 安装mariadb

1. centos7 中安装mariadb 1.1 执行安装 centos7 自带了mariadb yum -y install mariadb mariadb-server 1.2 启动mariadb systemctl start mariadb 1.3 设置开机启动 systemctl enable maria......

Lucky_Me
19分钟前
0
0
【AI实战】动手训练自己的目标检测模型(YOLO篇)

在前面的文章中,已经介绍了基于SSD使用自己的数据训练目标检测模型(见文章:手把手教你训练自己的目标检测模型),本文将基于另一个目标检测模型YOLO,介绍如何使用自己的数据进行训练。 ...

雪饼
26分钟前
0
0
Git合并指定文件到另一个分支

经常被问到如何从一个分支合并特定的文件到另一个分支。 其实,只合并你需要的那些commits,不需要的commits就不合并进去了。 合并某个分支上的单个commit 首先,用git log或sourcetree工具查...

yeahlife
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部