1、前言

  • 作为占据空间的一个空值,如用在数组或字典中占据一个没有任何值的空间。
  • 1.1 NULL & nil 的区别:

    • nil 是 OC 的,空对象,地址指向空的对象,指针地址指向的是 NULL。

      • 在 OC 中,可以给空对象(nil)发送任何消息,不会出现错误。
    • NULL 是 C 的,空地址,地址的数值是 0,是一个长整数。
      • 表示地址是空,不能给 NULL 消息。
    • 从 Xcode 6 开始,取消了 NULL 的智能提示,因为 Swift 中没有 NULL 的概念,只有 nil。
    • 在 OC 中,使用 NULL 或者 nil 都不会出错,但是:从概念的角度而言,** 的参数,不想获取对应的内容,应该传入 NULL 。
    • [NSNull null] 就是为了向数组和字典添加空值使用的。
  • 1.2 ** 类型:

    • 指针的指针,是一个很古老的 C 语言的技巧。
    • 用处:一个方法,可以返回多个数值。
    • 返回值,用户代号,同时还希望返回用户年龄,按照以往的套路,会新建一个 person 类。

2、NSNull 的创建

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

3、** 类型

- (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;
}

最新文章

  1. 2014年暑假c#学习笔记目录
  2. 深入理解Java之泛型
  3. SpringMVC从入门到精通之第二章
  4. ES6入门系列一(基础)
  5. 10个你可能不知道的JavaScript小技巧
  6. 通知 Notification 详解
  7. Android乐学成语之自定义Adapter
  8. Android开发经验—不要指望类finalize干活的方法做你想要什么
  9. warshall、
  10. Eclipse中将含有图片资源的项目打包成jar文件
  11. Linux之shell编程函数使用
  12. CPU 虚拟化
  13. js 实现二级联动
  14. Valgrind使用【转】
  15. UPX脱壳全程分析(转)
  16. 移动web总结
  17. nginx 反向代理 Nginx 502 Bad Gateway
  18. XML系列之--创建电文格式的XML(一)
  19. 网络IP和网络掩码以及网关的学习
  20. 刚部署的程序加载不出来css,js以及图片

热门文章

  1. (转)NHibernate各种数据库配置写法
  2. java代码实现通讯录实例,我不知道这有什么用。,
  3. Linux打包下载命令
  4. d-s证据理论
  5. mac 下 配置appium +ios真机环境
  6. 10-14C#基础--语句(switch....case和for...循环)
  7. 使用ffmpeg压缩视频
  8. 使用HttpClient进行Post通信
  9. 安装nodemon热启动
  10. SQl Server 与数据库的第一次相遇