Foundation框架NSNumber、NSValue和NSDate

NSNumber 

        前几篇笔中,小桥复Foundatio框架中的几个类,三个是OC的尾声了 小桥已经复习过OC数组NSArray,也说过它只能存放OC象,于基本的据类型确无能力,但是实际程中经常要把基本的据如intfloat构体存放的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//  NSNumberNSValueNSdate////  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 
        NSValueNSNumber相似,具体来说前者是后者的父类。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)时  h12)时   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);

 

你可能感兴趣的:(Foundation框架NSNumber、NSValue和NSDate)