Object-c学习之路十(NSNumber&NSValue)


//
//  main.m
//  NSNumberAndNSValue
//
//  Created by WildCat on 13-7-26.
//  Copyright (c) 2013年 wildcat. All rights reserved.
//

#import <Foundation/Foundation.h>
#pragma mark 对基本数据类型进行包装
void  number(){
    NSNumber *number=[NSNumber numberWithInt:6];
    NSLog(@"%@",number);
    NSArray *array=[NSArray arrayWithObjects:number, nil];
    NSNumber *number2=[array objectAtIndex:0];
    int a=[number2 intValue];
    NSLog(@"%i",a);
}
#pragma mark 对结构体等类型进行包装
void value(){
    //创建一个Point结构体
    CGPoint point=CGPointMake(10, 12);
    //包装
    NSValue *value1=[NSValue valueWithPoint:point];
    //创建一个数组
    NSMutableArray *array=[NSMutableArray array];
    //添加元素
    [array addObject:value1];
}
#pragma mark - 对自定义结构体进行包装

#pragma mark 定义一个结构体
typedef struct{
    int year;
    int month;
    int day;
} Date;

void valueUser(){
    Date date1={2013,7,26};
    //包装   value:要传一个指针 withObjCType:要传一个类型包装后的字符串 (即:char *type=@encode(Date))
    char * type=@encode(Date);
    NSValue *dvalue=[NSValue value:&date1 withObjCType:type];
    //取出
    Date newDate;
    [dvalue getValue:&newDate];
    NSLog(@"year:%i,month:%i,day:%i",newDate.year,newDate.month,newDate.day);


}

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

    @autoreleasepool {
        
        number();
        valueUser();
    }
    return 0;
}






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值