您的位置:首页 > 移动开发 > Objective-C

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

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