//
// 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;
}
foundation-NSValue
最新推荐文章于 2021-07-06 17:04:05 发布