打开APP
userphoto
未登录

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

开通VIP
(三)iOS中对象性的数据与非对象性数据的相互转化

 int a = 1;

        char b = 'a';

        //可以用来把基本数据类型封装成oc的对象

        NSNumber* num = [NSNumber numberWithInt:a];

        NSLog(@"%@", num);

        //得到number存的int数据的值

        a = [num floatValue];

        NSMutableArray* array = [NSMutableArray arrayWithCapacity:0];

        [array addObject:num];

        NSNumber* c = [NSNumber numberWithChar:b];

        [array addObject:c];

        NSNumber* f = [NSNumber numberWithFloat:1.23];

        [array addObject:f];

        //如果对存入浮点数的nsnumber对象使用intValue得到整数部分

        CGFloat ff = [f intValue];

        NSLog(@"%f", ff);

        [array writeToFile:@"/Users/4dworks/Desktop/num.plist" atomically:YES];

        

        NSString* str = @"1234";

        //把字符串转换成基本数据类型

        NSLog(@"%f", [str floatValue]);

        //用来表示范围

        //        NSRange

        //表示平面上面的一个点 core graphics

        CGPoint p = NSMakePoint(10, 11);

        p.x = 12;

        p.y = 13;

        //表示一个矩形大小

        CGSize size = NSMakeSize(10, 10);

        size.width = 20;

        size.height = 30;

        //可以用来表示一个控件在屏幕上的位置和大小

        CGRect rect = NSMakeRect(0, 0, 10, 10);

        rect.size = size;

        rect.origin = p;

        //把给定的CGPoint结构体封装成NSValue对象

        NSValue* value = [NSValue valueWithPoint:p];

        CGPoint point = [value pointValue];

        

        NSValue* value1 = [NSValue valueWithRect:rect];

        rect = [value1 rectValue];

        NSValue* value2 = [NSValue valueWithSize:size];

        size = [value2 sizeValue];

        NSRange range = NSMakeRange(0, 200);

        NSValue* value3 = [NSValue valueWithRange:range];

        range = [value3 rangeValue];

        

        NSLog(@"%@", NSStringFromRange(range));

        NSLog(@"%@", NSStringFromRect(rect));

        NSLog(@"%@", NSStringFromPoint(point));

        NSLog(@"%@", NSStringFromSize(size));

        

        struct student {

            int age;

            char* name;

        };

        struct student stu = {10, "tom"};

        

        NSLog(@"%s", @encode(struct student));

        

        //第一个参数要封装数据的地址

        //第二个给封装的数据一个标记

        NSValue* v = [NSValue value:&stu withObjCType:@encode(struct student)];

        

        struct student stu1;

        [v getValue:&stu1];

        NSLog(@"%i  %s", stu1.age, stu1.name);

        NSLog(@"%s", [v objCType]);

        

        int x = 1;

        NSValue* v1 = [NSValue value:&x withObjCType:@encode(int)];

        [v1 getValue:&x];

        NSLog(@"%d", x);

        

        //得到是当前的日期

        NSDate* date = [NSDate date];

        NSLog(@"%@", date);

        NSDateFormatter* formatter = [[NSDateFormatter alloc] init];

        [formatter setDateStyle:NSDateFormatterNoStyle];

        NSString* dateStr = [formatter stringFromDate:date];

        //        formatter

        NSLog(@"%@", dateStr);

        

        

        //怎么样得到当前年,,,,,

        //得到一个日历对象

        NSCalendar* calendar = [NSCalendar currentCalendar];

        //通过给定的日期还有给定的一个flag得到date里面的那些部分

        NSDateComponents* components = [calendar components:NSYearCalendarUnit fromDate:date];

        NSLog(@"%ld", [components year]);

        NSDateComponents* c2 = [calendar components:NSMonthCalendarUnit fromDate:date];

        NSLog(@"%ld", [c2 month]);

        

        //00000000 11111010

        

        NSDateComponents* c3 = [calendar components:NSYearCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:date];

        NSLog(@"%ld", [c3 year]);

        NSLog(@"%ld", [c3 month]);

        NSLog(@"%ld", [c3 day]);

        NSLog(@"%ld", [c3 hour]);

        NSLog(@"%ld", [c3 minute]);

        NSLog(@"%ld", [c3 second]);

        NSLog(@"");



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
OC 集合
黑马程序员
objective c 整型和字符串相互转化
Objective-C入门教程12:数组对象(NSArray和NSMutableArrray)
NSValue NSNumber NSData类
线程基础
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服