Object-c------NSNumber和NSValue的简单介绍

NSNumber
main.m

//
//  main.m
//  NSNumber
//
//  Created by zhaogang on 16/5/8.
//  Copyright © 2016年 zhaogang. All rights reserved.
//

#import <Foundation/Foundation.h>

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

    //@20 将20包装成一个NSNumber对象
    NSArray *array = @[

      @{@"name" : @"jack" , @"age" : @20},
      @{@"name" : @"rose" , @"age" : @21},
      @{@"name" : @"hobe" , @"age" : [NSNumber numberWithInt:19]}


      ];

    // 将各种基本数据类型包装成NSNumber对象
    @10.5;

    @YES;

    @'a'; // NSNumber对象

    @"a"; // NSString对象

    // 将age变量包装成NSNumber对象
    int age = 10;
    @(age);


    NSNumber *n = [NSNumber numberWithDouble:10.5];
    int d = [n doubleValue];

    int a = 20;
    NSString *str = [NSString stringWithFormat:@"%d",a];
    [str intValue];

    return 0;
}

void test()
{
    NSNumber *num = [NSNumber numberWithInteger:10];

    NSDictionary *dict =  @{
                            @"name" : @"jack",
                            @"address" : @"beijing",
                            @"age" : num
                            };

    NSNumber *num2 = dict[@"age"];

    NSLog(@"%d", [num2 intValue]);
}

NSValue
main.m

//
//  main.m
//  NSValue
//
//  Created by zhaogang on 16/5/8.
//  Copyright © 2016年 zhaogang. All rights reserved.
//

#import <Foundation/Foundation.h>

// NSNumber之所以能包装基本数据类型为对象,是因为集成里NSValue


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

    //将结构体 ---> 对象

    CGPoint p = CGPointMake(10, 10);

    //将结构体转为Value对象
    NSValue *value = [NSValue valueWithPoint:p];

    // 将value转为对应的结构体
    //[value pointerValue];

    NSArray *array = @[value];



    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值