博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS - OC NSNull 空值
阅读量:5927 次
发布时间:2019-06-19

本文共 906 字,大约阅读时间需要 3 分钟。

前言

@interface NSNull : NSObject 
  • 作为占据空间的一个空值,如用在数组或字典中占据一个没有任何值的空间。

  • NULL & nil 的区别:

    • nil 是 OC 的,空对象,地址指向空的对象,指针地址指向的是 NULL。
    • 在 OC 中,可以给空对象(nil)发送任何消息,不会出现错误。

    • NULL 是 C 的,空地址,地址的数值是 0,是一个长整数。
    • 表示地址是空,不能给 NULL 消息。

    • 从 Xcode 6 开始,取消了 NULL 的智能提示,因为 Swift 中没有 NULL 的概念,只有 nil。

    • 在 OC 中,使用 NULL 或者 nil 都不会出错,但是:从概念的角度而言,** 的参数,不想获取对应的内容,应该传入 NULL 。

    • [NSNull null] 就是为了向数组和字典添加空值使用的。

  • ** 类型:

    • 指针的指针,是一个很古老的 C 语言的技巧。

    • 用处:一个方法,可以返回多个数值。

    • 返回值,用户代号,同时还希望返回用户年龄,按照以往的套路,会新建一个 person 类。

1、NSNull 的创建

// 返回一个单例类对象    NSNull *nl = [NSNull null];

2、** 类型

- (void)demo {                    int age = 0;        NSString *myTitle = nil;                    [self userInfo:&age title:&myTitle];                    NSLog(@"%d %@", age, myTitle);    }        - (int)userInfo:(int *)age title:(NSString **)title {                    *age = 10;        *title = [NSString stringWithFormat:@"BOSS - %d", 123];                    return 1;    }

转载地址:http://nsevx.baihongyu.com/

你可能感兴趣的文章
Effective_STL 学习笔记(二十八) 了解如何通过 reverse_iterator 的 base 得到 iterator...
查看>>
Effective_STL 学习笔记(三十二) 如果真的想删除东西的话就在类似于 remove 的算法后接上 erase...
查看>>
js进阶 9-11 select选项框如何动态添加和删除元素
查看>>
js实现表格配对小游戏
查看>>
官网分析(英雄传奇)(如何设计网站前端)
查看>>
html5--6-2 CSS语法
查看>>
js自动记忆用户名(可以设置cookie多存几天)
查看>>
分治1--二分查找
查看>>
流程控制
查看>>
Redis-统计活跃用户
查看>>
lemp(lnmp)web网站搭建
查看>>
illustrator 学习笔记<3> 钢笔工具
查看>>
redis在windows和Linux系统下的下载、安装、配置
查看>>
平方和与立方和
查看>>
什么是DMI
查看>>
使用线程操作刷新Winform界面
查看>>
编程规范
查看>>
安卓市场-框架搭建
查看>>
下半部和推后执行的工作--tasklet
查看>>
C++ 获取硬盘序列号
查看>>