foundation-NSValue

//
//  main.m
//  foundation-NSValue
//
//  Created by apple on 15/7/3.
//  Copyright (c) 2015年 itcast. All rights reserved.
//

#import <Foundation/Foundation.h>

void value(){
    CGPoint point = CGPointMake(10, 11);
    //将结构体变量包装成一个对象
    NSValue *value = [NSValue valueWithPoint:point];
    
    NSMutableArray *arr = [NSMutableArray array];
    [arr addObject:value];
    NSValue *value1 = [arr lastObject];
    CGPoint p = [value1 pointValue];
    Boolean result = CGPointEqualToPoint(point, p);
    NSLog(@"result = %i",result);
}

typedef struct {
    int year;
    int month;
    int day;
} Date;

void value2(){
    Date date = {1990,5,2};
    //根据结构体类型生成对应的类型描述字符串
    char *type = @encode(Date);
    //这里要传结构体的指针&date
    NSValue *value = [NSValue value:&date withObjCType:type];
    
    //定义一个结构体变量
    Date date1;
    //取出包装好的结构体
    [value getValue:&date1];
//    [value objCType]取出类型描述字符串
    NSLog(@"year = %i,month = %i,day = %i",date1.year,date1.month,date1.day);
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        value2();
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值