一、NSNumber

OC数组类NSArray,它只能存放 OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int、float,结构体存放的OC数组中,怎么办?这里的 NSNumber就有用了,它能够把基本数据类型包装成OC对象。
  // 将整形包装成OC对象
  NSNumber *num1 = [NSNumber numberWithInt:120];
  // 将浮点形包装成OC对象  NSNumber *num2 = [NSNumber numberWithDouble:0.5];  // 把包装后的数据存放到OC数组中  NSArray *array = @[@"年龄",num1];  // 遍历数组  for (id obj in array)  {   NSLog(@"%@", obj);  }

通过NSNumber的方法能够把所有基本数据类型包装成OC对象,再存放到OC数组中。要把NSNumber包装后的对象还原成基本数

  // 将NSNumber类型的对象还原成基本数据类型
  int age = [num1 intValue];
  double a = [num2 doubleValue];  还可以 使用编译器特性快速包装一个基本数据: // 快速包装  @120;  @0.5;  @NO;   // 使用快速包装,再存放到数组中  NSArray *array2 = @[@"hello",@100, @YES, @0.3, @'H']; 

二、NSValue 

NSValue和NSNumber相似,具体来说前者是后者的父类。NSValue可以包装复杂的基本数据类型,如结构体,枚举。

int main()
{

  // OC结构体  CGPoint point = CGPointMake(11, 12);   // 将结构体包装成OC对象  NSValue *val = [NSValue valueWithPoint:point];   // 将包装后的OC对象存放到OC数组  NSArray *array = @[val];   NSLog(@"%@", array);   return 0; }
  三、NSDate
 这个类是与时间相关的,日期的格式化。

// 创建日期对象
  NSDate *date = [NSDate date];

  // 日期格式化类  NSDateFormatter *formatter = [[NSDateFormatter alloc] init];   // y 年 M 月 d 日  // m 分 s 秒 H (24)时 h(12)时  formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 固定写法,不能随便写   // 将日期格式化成字符串对象  NSString *str = [formatter stringFromDate:date];   NSLog(@"%@", str);  // 格式化的参数都有固定含意,不能随意写。上面是将日期格式化输出,下面再来将字符串中的日期  // 指定日期为  NSString *time = @"2022/05/01 13:30";   // 创建日期格式化对象  NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];  // 格式化日期  formatter2.dateFormat = @"yyyy/MM/dd HH:mm";   NSDate *date2 = [formatter2 dateFromString:time];  NSLog(@"%@", date2);

转载于:https://www.cnblogs.com/yzjxdz/p/4853126.html

OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)相关推荐

  1. (转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类

    昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类, ...

  2. java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)

    原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...

  3. Hadoop学习笔记—18.Sqoop框架学习

    Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...

  4. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

  5. 设计模式学习笔记——原型(Prototype)框架

    设计模式学习笔记--原型(Prototype)框架 @(设计模式)[设计模式, 原型模式, prototype] 设计模式学习笔记原型Prototype框架 基本介绍 原型案例 类图 实现代码 Pro ...

  6. 前端学习笔记:Bootstrap框架入门

    前端学习笔记:Bootstrap框架入门 一.Bootstrap概述 1.基本信息 ​Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS. ...

  7. Hadoop学习笔记—16.Pig框架学习

    Hadoop学习笔记-16.Pig框架学习 一.关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin, ...

  8. [OC学习笔记]自动引用计数

    一.什么是自动引用计数 自动引用计数(ARC,Automic Reference Counting)是指内存管理中对引用采取自动计数的技术. 在Objective-C中采用Automic Refere ...

  9. Python学习笔记--10.Django框架快速入门之后台管理admin(书籍管理系统)

    Python学习笔记--10.Django框架快速入门之后台管理 一.Django框架介绍 二.创建第一个Django项目 三.应用的创建和使用 四.项目的数据库模型 ORM对象关系映射 sqlite ...

最新文章

  1. SAP QM初阶之事务代码CR05查询QM Work Center List
  2. 数据库设计中的14个技巧
  3. 2021年11月软考准考证打印时间及操作步骤
  4. 处于计算机学科的基础地位,谈谈离散数学在计算机学科中的地位和作用(原稿)...
  5. hadoop实训报告总结及体会_管理工程学院举办电子商务实训表彰大会
  6. linux 注册并配置
  7. jsp项目实战--项目介绍
  8. 《深入浅出统计学》读书笔记
  9. OSGEARTH三维地形开源项目
  10. AirPlay to Mac 如何工作以及使用它需要什么?
  11. 使用HDMI转DVI线组双屏
  12. VMware虚拟机中激活Windows Server 2008的具体步骤
  13. 直通车怎么能不推广计算机设备,直通车智能推广具体怎么设置?如何操作?
  14. 颜色代码表(#号开头)
  15. 计算机病毒与防治说课稿,计算机病毒与防治说课稿.doc
  16. 仿ios相机apk_iCamera摄像头下载|iCamera仿苹果相机安卓版v4.0下载 _当游网
  17. JS 今天/明天的日期
  18. 从帝王之术中窥探天机
  19. Flutter访问webservice
  20. C语言遍历文件目录:readdir,opendir

热门文章

  1. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
  2. Ubuntu18彻底删除MySQL5.7数据库
  3. androidstudio判断手指滑动方向_方向盘的黑科技有多“黑”
  4. 回顾 2018,展望 2019
  5. 关于某日访问次数最多的IP的topK问题的三种解法
  6. 数据结构与算法——线性结构——线性表及其表示
  7. SpringBoot (五) :SpringBoot整合mybatis
  8. Android数据持久化:文件存储
  9. Java中类、常量、变量、方法名等命名规则
  10. 如何在GPU上优化卷积