打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
黑马程序员
               
----------------------  IOS开发Android培训 、期待与您交流! ----------------------
一、NSNumber
        前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了。 小桥已经复习过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; ////  main.m//  NSNumber、NSValue和NSdate////  Created by 葬花 桥 on 14-5-18.//  Copyright (c) 2014年 itcast. All rights reserved.//#import <Foundation/Foundation.h>int main(){  // 将整形包装成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类型的对象还原成基本数据类型  int age = [num1 intValue];  double a = [num2 doubleValue];    // 快速包装  @120;  @0.5;  @NO;    // 使用快速包装,再存放到数组中  NSArray *array2 = @[@"hello",@100, @YES, @0.3, @'H'];    return 0;}

二、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);
 

----------------------  IOS开发Android培训 、期待与您交流! ---------------------- 详细请查看: www.itheima.com


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
(三)iOS中对象性的数据与非对象性数据的相互转化
Objective-C入门教程12:数组对象(NSArray和NSMutableArrray)
iOS标准时间与时间戳相互转换
NSValue NSNumber NSData类
OC中Block语法、Block使用以及通过Block实现数组排序
用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服