码迷,mamicode.com
首页 > 移动开发 > 详细

iOS-OC-基础-NSNumber常用方法

时间:2015-12-01 08:28:55      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

    /*===========================NSNumber数值对象=========================*/
    
    // 将基本数据类型保存为NSNumber 对象类型
    NSNumber *intNum = [NSNumber numberWithInt:10];
    NSLog(@"num = %@",intNum);
    NSNumber *floatNum = [NSNumber numberWithFloat:10.32];
    NSLog(@"floatNum = %@",floatNum);
    NSNumber *doubleNum = [NSNumber numberWithDouble:345.567890];
    NSLog(@"doubleNum = %@",doubleNum);
    NSNumber *boolNum = [NSNumber numberWithBool:YES];
    NSLog(@"booleNum = %@",boolNum);
    
    // 将NSNumber 对象类型还原成基本数据类型
    int value1 = [intNum intValue];
    float value2 = [floatNum floatValue];
    double value3 = [doubleNum doubleValue];
    BOOL value4 = [boolNum boolValue];
    
    // 简介写法
    NSNumber *num = @1;
    NSNumber *num1 = @3.14;
    NSNumber *num2 = @343.33434344;
    NSNumber *num3 = @YES;
    
    NSLog(@"num = %@",num);
    
    
    /*===========================NSValue对象类型=========================*/
    
    /* NSNumber 用来保存基本数据类型,但是像结构体这样的数据类型就保存不了了,
     所以得使用 NSValue 来保存结构体这样的数据类型
     
     OC 常用的结构体类型:
     NSRange(表示范围) 、NSPoint(表示坐标位置)、NSSize(表示尺寸)、
     NSRect(表示一个位置和尺寸)
     */
    
    // 方式一:
    // 把结构体保存为NSValue 对象类型
    CGPoint point = {20,30};
    NSValue *value = [NSValue value:&point withObjCType:@encode(CGPoint)];
    //        NSArray *array = @[value];
    NSLog(@"value = %@",value);
    
    // getValue 还原结构体
    CGPoint point1;
    [value getValue:&point1];
    NSLog(@"point.x = %.2f",point1.x);
    

 

本文GitHub地址https://github.com/zhangkiwi/iOS_SN_NSNumber

iOS-OC-基础-NSNumber常用方法

标签:

原文地址:http://www.cnblogs.com/zhang-kiwi/p/5009034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!