您的位置:首页 > 产品设计 > UI/UE

foundation-NSValue

2015-07-03 20:17 363 查看
//
//  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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: