NSDate,NSNumber,NSValue

NSDate

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //通过date方法创建的时间对象,对象就保存了当前的时间;
  /*      NSDate *now=[NSDate date];
        NSLog(@"%@",now);
        //在now的基础上追加多少秒
//       NSDate *date= [now dateByAddingTimeInterval:10];
//        NSLog(@"date=%@",date);

        //获取当前所处的失去
//        NSTimeZone *zone=[NSTimeZone systemTimeZone];
        //获取当前时区和指定时区的时间差
//        NSInteger second= [zone secondsFromGMTForDate:now];
//        NSLog(@"%lu",second);

        NSData *newDate=[now dateByAddingTimeInterval:28800];
        NSLog(@"%@",newDate);
       */
        //格式化时间
//        NSDate *now=[NSDate date];
//        NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
//        [email protected]"yyyy年MM月dd日 HH时mm分ss秒 Z";
//
//       NSString *str= [formatter stringFromDate:now];
//        NSLog(@"%@",str);

        //NSString -》NSDate
//        NSDate *now=[NSDate date];
//        NSLog(@"%@",now);

        //把字符串转化为NSDate格式 那么dateFormat的格式,必须和字符串的时间格式一致,否则可能转换失败
        NSString *str=@"2016-01-09 06:46:34 +0000";
        NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
//        [email protected]"yyyy-MM-dd HH:mm:ss Z";
        NSDate *date=[formatter dateFromString:str];
        NSLog(@"%@",date);

    }
    return 0;
}

NSNumber

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {

        int age=10;
        int number=5;
        int value=6;
        //NSNumber的声明
        NSNumber *ageNumber=[NSNumber numberWithInt:age];
        NSNumber *numberN=[NSNumber numberWithInt:number];
        NSNumber *valueV=[NSNumber numberWithInt:value];
        NSArray *arr=@[ageNumber,numberN,valueV];
//        NSLog(@"%@",arr);
        for (NSArray *A in arr) {
            NSLog(@"%@",A);
        }
        //把NSNumber类型的数据转换成基本数据类型
        int temp=[ageNumber intValue];
        NSLog(@"%d",temp);
        //简写
//        NSNumber *[email protected](age);
//        NSLog(@"%@",temp1);
//        NSNumber *[email protected];
//        NSLog(@"%@",temp);
    }
    return 0;
}

3.NSValue

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        typedef struct{
            int age;
            char *name;
            double height;
        }Person;
        Person p={30,"qll",1.72};

        //利用NSValue包装常用结构体
//        CGPoint point =NSMakePoint(10, 20);
//        NSValue *value=[NSValue valueWithPoint:point];
//        NSArray *[email protected][value];
//        NSLog(@"%@",arr);

        //<#(nonnull const void *)#>表示要包装数据类型的地址,而<#(nonnull const char *)#>表示要包装的数据类
        //书写的固定格式为@encode()
        NSValue *v=[NSValue valueWithBytes: &p objCType:@encode(Person)];
        NSArray *arr=@[v];
        NSLog(@"%@",arr);
        //从已经包装好的数据类型中取出数据
        Person res;
        [v getValue:&res];
        NSLog(@"age=%d,name=%s,height=%f",res.age,res.name,res.height);
    };
    return 0;
}
时间: 2024-08-10 17:09:45

NSDate,NSNumber,NSValue的相关文章

【非凡程序员】 OC第六节课 (枚举,字典,结构体,NSRange,CG类型,NSnumber,空)

#import <Foundation/Foundation.h>#import "Article.h"#import "Person.h" int main(int argc, const char * argv[]) {    @autoreleasepool { //自动释放池 (半自动) //-------------------------枚举类---------------------------------//     NSArray *p

NSNumber,NSValue,NSData

参考博客 http://blog.csdn.net/yhawaii/article/details/8222973 http://blog.csdn.net/sakulafly/article/details/13292457 http://blog.csdn.net/at9009/article/details/7863720 我们在编码中,很多时候需要将C里面原生的数据封装成对象,这样可以用NSDictionary或者NSArray来存取访问.尤其是一些做适配的情况下,这种封装是不可避免的.

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.

NSNumber、NSValue、NSDate、NSObject

注:OC中数组和字典只能存储OC对象不能存放基本数据类型. NSNumber NSNumber可以用来把一个基本数据类型包装成一个NSNumber类型的对象. NSNumber *number = [NSNumber numberWithInt:10]; // 将int类型的10 包装成一个NSNumber对象. NSLog(@"number=%@", number);//NSNumber类型对象可以当作字符串直接输出. NSMutableArray *array = [NSMutab

NSDate(NSCalendar,NSDateComponents,NSDateFormatter)

-1 NSString 转成 NSDate NSString *time = @"2014-05-18 09:24:40"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSDate *date = [dateFormatter dateFromString:time]; NSLo

NSDate和NSString的转换及判定是昨天,今天,明天

用于uidate,picker.. +(NSDate*) convertDateFromString:(NSString*)uiDate{    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;    [formatter setDateFormat:@"yyyy年MM月dd日"];    NSDate *date=[formatter dateFromString:uiDate];    return date

Object - C 值对象 NSNumber和NSValue

在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现基本数据类型与对象类型的互相转换,而NSValue,则是实现结构体对象与对象类型的互相转换. NSNumber因为是实现基本数据类型与对象类型的互相转换,所以,必须是要有数据类型,而int ,char,BOOL,Float,Long,Integer等等等-都可以进行相应的转换 //1.将基本数据类型

Objective-C( Foundation框架 一 NSNumber(NSValue))

NSNumber: 是OC中处理数字的一个类 NSValue是NSNumber的子类 如何处理: 把int,float,double  包装成一个对象 使用NSNumber的好处: 可以把基本数据类型的数据,保存到数组或字典中 // 定义基本数据类型 int a = 10; float b = 2.2f; double d = 1.22; int x = 100; // int 包装成 NSNumber NSNumber *intObj = [NSNumber numberWithInt:a];

自定义使用AVCaptureSession 拍照,摄像,载图

转载自 http://blog.csdn.net/andy_jiangbin/article/details/19823333 拍照,摄像,载图总结 1 建立Session  2 添加 input  3 添加output  4 开始捕捉 5 为用户显示当前录制状态 6 捕捉 7 结束捕捉 8 参考  1 建立Session  1.1 声明session  AVCaptureSession *session = [[AVCaptureSession alloc] init]; // Add inp